summaryrefslogtreecommitdiffstats
path: root/src/object
diff options
context:
space:
mode:
Diffstat (limited to 'src/object')
-rw-r--r--src/object/auto/autobase.cpp116
-rw-r--r--src/object/auto/autobase.h8
-rw-r--r--src/object/auto/autoconvert.cpp16
-rw-r--r--src/object/auto/autoderrick.cpp25
-rw-r--r--src/object/auto/autoderrick.h6
-rw-r--r--src/object/auto/autodestroyer.cpp18
-rw-r--r--src/object/auto/autoegg.cpp5
-rw-r--r--src/object/auto/autoenergy.cpp16
-rw-r--r--src/object/auto/autofactory.cpp33
-rw-r--r--src/object/auto/autofactory.h2
-rw-r--r--src/object/auto/autoflag.cpp4
-rw-r--r--src/object/auto/autohuston.cpp44
-rw-r--r--src/object/auto/autohuston.h2
-rw-r--r--src/object/auto/autoinfo.cpp8
-rw-r--r--src/object/auto/autoinfo.h2
-rw-r--r--src/object/auto/autojostle.cpp4
-rw-r--r--src/object/auto/autokid.cpp4
-rw-r--r--src/object/auto/autolabo.cpp12
-rw-r--r--src/object/auto/automush.cpp12
-rw-r--r--src/object/auto/autonest.cpp16
-rw-r--r--src/object/auto/autonest.h6
-rw-r--r--src/object/auto/autonuclear.cpp17
-rw-r--r--src/object/auto/autonuclear.h2
-rw-r--r--src/object/auto/autopara.cpp11
-rw-r--r--src/object/auto/autopara.h2
-rw-r--r--src/object/auto/autoportico.cpp8
-rw-r--r--src/object/auto/autoportico.h4
-rw-r--r--src/object/auto/autoradar.cpp8
-rw-r--r--src/object/auto/autoradar.h2
-rw-r--r--src/object/auto/autorepair.cpp6
-rw-r--r--src/object/auto/autoresearch.cpp11
-rw-r--r--src/object/auto/autoroot.cpp13
-rw-r--r--src/object/auto/autoroot.h2
-rw-r--r--src/object/auto/autosafe.cpp26
-rw-r--r--src/object/auto/autosafe.h2
-rw-r--r--src/object/auto/autostation.cpp13
-rw-r--r--src/object/auto/autostation.h2
-rw-r--r--src/object/auto/autotower.cpp16
-rw-r--r--src/object/auto/autotower.h4
-rw-r--r--src/object/brain.cpp19
-rw-r--r--src/object/brain.h8
-rw-r--r--src/object/mainmovie.cpp248
-rw-r--r--src/object/mainmovie.h80
-rw-r--r--src/object/motion/motion.cpp22
-rw-r--r--src/object/motion/motion.h20
-rw-r--r--src/object/motion/motionant.cpp68
-rw-r--r--src/object/motion/motionant.h2
-rw-r--r--src/object/motion/motionbee.cpp52
-rw-r--r--src/object/motion/motionbee.h2
-rw-r--r--src/object/motion/motionhuman.cpp80
-rw-r--r--src/object/motion/motionhuman.h2
-rw-r--r--src/object/motion/motionmother.cpp46
-rw-r--r--src/object/motion/motionmother.h2
-rw-r--r--src/object/motion/motionspider.cpp34
-rw-r--r--src/object/motion/motionspider.h2
-rw-r--r--src/object/motion/motiontoto.cpp44
-rw-r--r--src/object/motion/motiontoto.h2
-rw-r--r--src/object/motion/motionvehicle.cpp213
-rw-r--r--src/object/motion/motionvehicle.h8
-rw-r--r--src/object/motion/motionworm.cpp20
-rw-r--r--src/object/motion/motionworm.h2
-rw-r--r--src/object/object.cpp1489
-rw-r--r--src/object/object.h116
-rw-r--r--src/object/robotmain.cpp125
-rw-r--r--src/object/robotmain.h30
-rw-r--r--src/object/task/taskadvance.cpp5
-rw-r--r--src/object/task/taskadvance.h2
-rw-r--r--src/object/task/taskbuild.cpp46
-rw-r--r--src/object/task/taskbuild.h6
-rw-r--r--src/object/task/taskfire.cpp53
-rw-r--r--src/object/task/taskfireant.cpp18
-rw-r--r--src/object/task/taskfireant.h4
-rw-r--r--src/object/task/taskflag.cpp22
-rw-r--r--src/object/task/taskflag.h2
-rw-r--r--src/object/task/taskgoto.cpp150
-rw-r--r--src/object/task/taskgoto.h44
-rw-r--r--src/object/task/taskinfo.cpp6
-rw-r--r--src/object/task/taskmanager.cpp6
-rw-r--r--src/object/task/taskmanager.h6
-rw-r--r--src/object/task/taskmanip.cpp82
-rw-r--r--src/object/task/taskmanip.h12
-rw-r--r--src/object/task/taskpen.cpp11
-rw-r--r--src/object/task/taskpen.h2
-rw-r--r--src/object/task/taskrecover.cpp28
-rw-r--r--src/object/task/taskrecover.h2
-rw-r--r--src/object/task/taskreset.cpp10
-rw-r--r--src/object/task/taskreset.h8
-rw-r--r--src/object/task/tasksearch.cpp21
-rw-r--r--src/object/task/taskshield.cpp33
-rw-r--r--src/object/task/taskshield.h4
-rw-r--r--src/object/task/tasktake.cpp42
-rw-r--r--src/object/task/tasktake.h2
-rw-r--r--src/object/task/taskterraform.cpp47
-rw-r--r--src/object/task/taskterraform.h2
94 files changed, 2132 insertions, 1788 deletions
diff --git a/src/object/auto/autobase.cpp b/src/object/auto/autobase.cpp
index 2091091..abd231f 100644
--- a/src/object/auto/autobase.cpp
+++ b/src/object/auto/autobase.cpp
@@ -127,10 +127,10 @@ void CAutoBase::Start(int param)
bool CAutoBase::EventProcess(const Event &event)
{
- D3DMATRIX* mat;
+ Math::Matrix* mat;
Event newEvent;
CObject* pObj;
- D3DVECTOR pos, speed, vibCir, iPos;
+ Math::Vector pos, speed, vibCir, iPos;
Math::Point dim, p;
Error err;
float angle, dist, time, h, len, vSpeed;
@@ -162,8 +162,8 @@ begin:
m_object->SetAngleZ(1+i, Math::PI/2.0f-124.0f*Math::PI/180.0f);
m_object->SetAngleX(10+i, -10.0f*Math::PI/180.0f);
m_object->SetAngleX(18+i, 10.0f*Math::PI/180.0f);
- m_object->SetPosition(10+i, D3DVECTOR(23.5f, 0.0f, -11.5f));
- m_object->SetPosition(18+i, D3DVECTOR(23.5f, 0.0f, 11.5f));
+ m_object->SetPosition(10+i, Math::Vector(23.5f, 0.0f, -11.5f));
+ m_object->SetPosition(18+i, Math::Vector(23.5f, 0.0f, 11.5f));
}
pObj = m_main->RetSelectObject();
@@ -193,8 +193,8 @@ begin:
m_object->SetAngleZ(1+i, Math::PI/2.0f-124.0f*Math::PI/180.0f);
m_object->SetAngleX(10+i, -10.0f*Math::PI/180.0f);
m_object->SetAngleX(18+i, 10.0f*Math::PI/180.0f);
- m_object->SetPosition(10+i, D3DVECTOR(23.5f, 0.0f, -11.5f));
- m_object->SetPosition(18+i, D3DVECTOR(23.5f, 0.0f, 11.5f));
+ m_object->SetPosition(10+i, Math::Vector(23.5f, 0.0f, -11.5f));
+ m_object->SetPosition(18+i, Math::Vector(23.5f, 0.0f, 11.5f));
}
}
@@ -280,31 +280,31 @@ begin:
BeginTransit();
mat = m_object->RetWorldMatrix(0);
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 10.0f;
dim.y = dim.x;
- pos = D3DVECTOR(42.0f, -2.0f, 17.0f);
+ pos = Math::Vector(42.0f, -2.0f, 17.0f);
pos = Transform(*mat, pos);
m_partiChannel[0] = m_particule->CreateParticule(pos, speed, dim, PARTILENS1, BASE_TRANSIT_TIME+1.0f, 0.0f, 0.0f);
- pos = D3DVECTOR(17.0f, -2.0f, 42.0f);
+ pos = Math::Vector(17.0f, -2.0f, 42.0f);
pos = Transform(*mat, pos);
m_partiChannel[1] = m_particule->CreateParticule(pos, speed, dim, PARTILENS1, BASE_TRANSIT_TIME+1.0f, 0.0f, 0.0f);
- pos = D3DVECTOR(42.0f, -2.0f, -17.0f);
+ pos = Math::Vector(42.0f, -2.0f, -17.0f);
pos = Transform(*mat, pos);
m_partiChannel[2] = m_particule->CreateParticule(pos, speed, dim, PARTILENS1, BASE_TRANSIT_TIME+1.0f, 0.0f, 0.0f);
- pos = D3DVECTOR(17.0f, -2.0f, -42.0f);
+ pos = Math::Vector(17.0f, -2.0f, -42.0f);
pos = Transform(*mat, pos);
m_partiChannel[3] = m_particule->CreateParticule(pos, speed, dim, PARTILENS1, BASE_TRANSIT_TIME+1.0f, 0.0f, 0.0f);
- pos = D3DVECTOR(-42.0f, -2.0f, 17.0f);
+ pos = Math::Vector(-42.0f, -2.0f, 17.0f);
pos = Transform(*mat, pos);
m_partiChannel[4] = m_particule->CreateParticule(pos, speed, dim, PARTILENS1, BASE_TRANSIT_TIME+1.0f, 0.0f, 0.0f);
- pos = D3DVECTOR(-17.0f, -2.0f, 42.0f);
+ pos = Math::Vector(-17.0f, -2.0f, 42.0f);
pos = Transform(*mat, pos);
m_partiChannel[5] = m_particule->CreateParticule(pos, speed, dim, PARTILENS1, BASE_TRANSIT_TIME+1.0f, 0.0f, 0.0f);
- pos = D3DVECTOR(-42.0f, -2.0f, -17.0f);
+ pos = Math::Vector(-42.0f, -2.0f, -17.0f);
pos = Transform(*mat, pos);
m_partiChannel[6] = m_particule->CreateParticule(pos, speed, dim, PARTILENS1, BASE_TRANSIT_TIME+1.0f, 0.0f, 0.0f);
- pos = D3DVECTOR(-17.0f, -2.0f, -42.0f);
+ pos = Math::Vector(-17.0f, -2.0f, -42.0f);
pos = Transform(*mat, pos);
m_partiChannel[7] = m_particule->CreateParticule(pos, speed, dim, PARTILENS1, BASE_TRANSIT_TIME+1.0f, 0.0f, 0.0f);
@@ -459,7 +459,7 @@ begin:
m_bMotor = false; // put out the reactor
m_object->SetPosition(0, m_pos); // setting down
- m_object->SetCirVibration(D3DVECTOR(0.0f, 0.0f, 0.0f));
+ m_object->SetCirVibration(Math::Vector(0.0f, 0.0f, 0.0f));
MoveCargo(); // all cargo moves
// Impact with the ground.
@@ -471,7 +471,7 @@ begin:
pos = m_pos;
pos.x += p.x;
pos.z += p.y;
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = Math::Rand()*10.0f+10.0f;
dim.y = dim.x;
time = Math::Rand()*2.0f+1.5f;
@@ -565,7 +565,7 @@ begin:
pos = m_pos;
pos.x += p.x;
pos.z += p.y;
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = Math::Rand()*8.0f+8.0f;
dim.y = dim.x;
time = Math::Rand()*2.0f+1.5f;
@@ -589,8 +589,8 @@ begin:
len = 7.0f-m_progress*(7.0f+11.5f);
for ( i=0 ; i<8 ; i++ )
{
- m_object->SetPosition(10+i, D3DVECTOR(23.5f, 0.0f, len));
- m_object->SetPosition(18+i, D3DVECTOR(23.5f, 0.0f, -len));
+ m_object->SetPosition(10+i, Math::Vector(23.5f, 0.0f, len));
+ m_object->SetPosition(18+i, Math::Vector(23.5f, 0.0f, -len));
m_object->SetAngleX(10+i, -10.0f*Math::PI/180.0f*m_progress);
m_object->SetAngleX(18+i, 10.0f*Math::PI/180.0f*m_progress);
}
@@ -614,8 +614,8 @@ begin:
{
for ( i=0 ; i<8 ; i++ )
{
- m_object->SetPosition(10+i, D3DVECTOR(23.5f, 0.0f, -11.5f));
- m_object->SetPosition(18+i, D3DVECTOR(23.5f, 0.0f, 11.5f));
+ m_object->SetPosition(10+i, Math::Vector(23.5f, 0.0f, -11.5f));
+ m_object->SetPosition(18+i, Math::Vector(23.5f, 0.0f, 11.5f));
m_object->SetAngleX(10+i, -10.0f*Math::PI/180.0f);
m_object->SetAngleX(18+i, 10.0f*Math::PI/180.0f);
}
@@ -668,8 +668,8 @@ begin:
len = 7.0f-(1.0f-m_progress)*(7.0f+11.5f);
for ( i=0 ; i<8 ; i++ )
{
- m_object->SetPosition(10+i, D3DVECTOR(23.5f, 0.0f, len));
- m_object->SetPosition(18+i, D3DVECTOR(23.5f, 0.0f, -len));
+ m_object->SetPosition(10+i, Math::Vector(23.5f, 0.0f, len));
+ m_object->SetPosition(18+i, Math::Vector(23.5f, 0.0f, -len));
m_object->SetAngleX(10+i, -10.0f*Math::PI/180.0f*(1.0f-m_progress));
m_object->SetAngleX(18+i, 10.0f*Math::PI/180.0f*(1.0f-m_progress));
}
@@ -678,8 +678,8 @@ begin:
{
for ( i=0 ; i<8 ; i++ )
{
- m_object->SetPosition(10+i, D3DVECTOR(23.5f, 0.0f, 7.0f));
- m_object->SetPosition(18+i, D3DVECTOR(23.5f, 0.0f, -7.0f));
+ m_object->SetPosition(10+i, Math::Vector(23.5f, 0.0f, 7.0f));
+ m_object->SetPosition(18+i, Math::Vector(23.5f, 0.0f, -7.0f));
m_object->SetAngleX(10+i, 0.0f);
m_object->SetAngleX(18+i, 0.0f);
}
@@ -723,7 +723,7 @@ begin:
pos.x += p.x;
pos.z += p.y;
pos.y += 85.0f;
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = Math::Rand()*3.0f+3.0f;
dim.y = dim.x;
time = Math::Rand()*1.0f+1.0f;
@@ -912,7 +912,7 @@ begin:
pos = m_pos;
pos.x += p.x;
pos.z += p.y;
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = Math::Rand()*10.0f+10.0f;
dim.y = dim.x;
time = Math::Rand()*2.0f+1.5f;
@@ -1005,7 +1005,7 @@ begin:
if ( vSpeed < 0.0f ) vSpeed *= 1.5f;
}
- pos = D3DVECTOR(0.0f, 6.0f, 0.0f);
+ pos = Math::Vector(0.0f, 6.0f, 0.0f);
speed.x = (Math::Rand()-0.5f)*4.0f;
speed.z = (Math::Rand()-0.5f)*4.0f;
speed.y = vSpeed*0.8f-(8.0f+Math::Rand()*6.0f);
@@ -1021,72 +1021,72 @@ begin:
if ( m_phase == ABP_TRANSIT_MOVE )
{
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 12.0f;
dim.y = dim.x;
- pos = D3DVECTOR(0.0f, 7.0f, 0.0f);
+ pos = Math::Vector(0.0f, 7.0f, 0.0f);
pos.x += (Math::Rand()-0.5f)*2.0f; pos.z += (Math::Rand()-0.5f)*2.0f;
pos = Transform(*mat, pos);
m_particule->CreateParticule(pos, speed, dim, PARTIGAS, 1.0f, 0.0f, 0.0f);
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 4.0f;
dim.y = dim.x;
- pos = D3DVECTOR(42.0f, 0.0f, 17.0f);
+ pos = Math::Vector(42.0f, 0.0f, 17.0f);
pos.x += (Math::Rand()-0.5f)*2.0f; pos.z += (Math::Rand()-0.5f)*2.0f;
pos = Transform(*mat, pos);
m_particule->CreateParticule(pos, speed, dim, PARTIGAS, 0.5f, 0.0f, 0.0f);
- pos = D3DVECTOR(17.0f, 0.0f, 42.0f);
+ pos = Math::Vector(17.0f, 0.0f, 42.0f);
pos.x += (Math::Rand()-0.5f)*2.0f; pos.z += (Math::Rand()-0.5f)*2.0f;
pos = Transform(*mat, pos);
m_particule->CreateParticule(pos, speed, dim, PARTIGAS, 0.5f, 0.0f, 0.0f);
- pos = D3DVECTOR(42.0f, 0.0f, -17.0f);
+ pos = Math::Vector(42.0f, 0.0f, -17.0f);
pos.x += (Math::Rand()-0.5f)*2.0f; pos.z += (Math::Rand()-0.5f)*2.0f;
pos = Transform(*mat, pos);
m_particule->CreateParticule(pos, speed, dim, PARTIGAS, 0.5f, 0.0f, 0.0f);
- pos = D3DVECTOR(17.0f, 0.0f, -42.0f);
+ pos = Math::Vector(17.0f, 0.0f, -42.0f);
pos.x += (Math::Rand()-0.5f)*2.0f; pos.z += (Math::Rand()-0.5f)*2.0f;
pos = Transform(*mat, pos);
m_particule->CreateParticule(pos, speed, dim, PARTIGAS, 0.5f, 0.0f, 0.0f);
- pos = D3DVECTOR(-42.0f, 0.0f, 17.0f);
+ pos = Math::Vector(-42.0f, 0.0f, 17.0f);
pos.x += (Math::Rand()-0.5f)*2.0f; pos.z += (Math::Rand()-0.5f)*2.0f;
pos = Transform(*mat, pos);
m_particule->CreateParticule(pos, speed, dim, PARTIGAS, 0.5f, 0.0f, 0.0f);
- pos = D3DVECTOR(-17.0f, 0.0f, 42.0f);
+ pos = Math::Vector(-17.0f, 0.0f, 42.0f);
pos.x += (Math::Rand()-0.5f)*2.0f; pos.z += (Math::Rand()-0.5f)*2.0f;
pos = Transform(*mat, pos);
m_particule->CreateParticule(pos, speed, dim, PARTIGAS, 0.5f, 0.0f, 0.0f);
- pos = D3DVECTOR(-42.0f, 0.0f, -17.0f);
+ pos = Math::Vector(-42.0f, 0.0f, -17.0f);
pos.x += (Math::Rand()-0.5f)*2.0f; pos.z += (Math::Rand()-0.5f)*2.0f;
pos = Transform(*mat, pos);
m_particule->CreateParticule(pos, speed, dim, PARTIGAS, 0.5f, 0.0f, 0.0f);
- pos = D3DVECTOR(-17.0f, 0.0f, -42.0f);
+ pos = Math::Vector(-17.0f, 0.0f, -42.0f);
pos.x += (Math::Rand()-0.5f)*2.0f; pos.z += (Math::Rand()-0.5f)*2.0f;
pos = Transform(*mat, pos);
m_particule->CreateParticule(pos, speed, dim, PARTIGAS, 0.5f, 0.0f, 0.0f);
- pos = D3DVECTOR(42.0f, -2.0f, 17.0f);
+ pos = Math::Vector(42.0f, -2.0f, 17.0f);
pos = Transform(*mat, pos);
m_particule->SetPosition(m_partiChannel[0], pos);
- pos = D3DVECTOR(17.0f, -2.0f, 42.0f);
+ pos = Math::Vector(17.0f, -2.0f, 42.0f);
pos = Transform(*mat, pos);
m_particule->SetPosition(m_partiChannel[1], pos);
- pos = D3DVECTOR(42.0f, -2.0f, -17.0f);
+ pos = Math::Vector(42.0f, -2.0f, -17.0f);
pos = Transform(*mat, pos);
m_particule->SetPosition(m_partiChannel[2], pos);
- pos = D3DVECTOR(17.0f, -2.0f, -42.0f);
+ pos = Math::Vector(17.0f, -2.0f, -42.0f);
pos = Transform(*mat, pos);
m_particule->SetPosition(m_partiChannel[3], pos);
- pos = D3DVECTOR(-42.0f, -2.0f, 17.0f);
+ pos = Math::Vector(-42.0f, -2.0f, 17.0f);
pos = Transform(*mat, pos);
m_particule->SetPosition(m_partiChannel[4], pos);
- pos = D3DVECTOR(-17.0f, -2.0f, 42.0f);
+ pos = Math::Vector(-17.0f, -2.0f, 42.0f);
pos = Transform(*mat, pos);
m_particule->SetPosition(m_partiChannel[5], pos);
- pos = D3DVECTOR(-42.0f, -2.0f, -17.0f);
+ pos = Math::Vector(-42.0f, -2.0f, -17.0f);
pos = Transform(*mat, pos);
m_particule->SetPosition(m_partiChannel[6], pos);
- pos = D3DVECTOR(-17.0f, -2.0f, -42.0f);
+ pos = Math::Vector(-17.0f, -2.0f, -42.0f);
pos = Transform(*mat, pos);
m_particule->SetPosition(m_partiChannel[7], pos);
}
@@ -1140,8 +1140,8 @@ bool CAutoBase::Abort()
m_object->SetAngleZ(1+i, Math::PI/2.0f-124.0f*Math::PI/180.0f);
m_object->SetAngleX(10+i, -10.0f*Math::PI/180.0f);
m_object->SetAngleX(18+i, 10.0f*Math::PI/180.0f);
- m_object->SetPosition(10+i, D3DVECTOR(23.5f, 0.0f, -11.5f));
- m_object->SetPosition(18+i, D3DVECTOR(23.5f, 0.0f, 11.5f));
+ m_object->SetPosition(10+i, Math::Vector(23.5f, 0.0f, -11.5f));
+ m_object->SetPosition(18+i, Math::Vector(23.5f, 0.0f, 11.5f));
}
}
else
@@ -1155,15 +1155,15 @@ bool CAutoBase::Abort()
m_bOpen = true;
m_object->SetPosition(0, m_pos); // setting down
- m_object->SetCirVibration(D3DVECTOR(0.0f, 0.0f, 0.0f));
+ m_object->SetCirVibration(Math::Vector(0.0f, 0.0f, 0.0f));
MoveCargo(); // all cargo moves
for ( i=0 ; i<8 ; i++ )
{
m_object->SetAngleZ(1+i, Math::PI/2.0f-124.0f*Math::PI/180.0f);
m_object->SetAngleX(10+i, -10.0f*Math::PI/180.0f);
m_object->SetAngleX(18+i, 10.0f*Math::PI/180.0f);
- m_object->SetPosition(10+i, D3DVECTOR(23.5f, 0.0f, -11.5f));
- m_object->SetPosition(18+i, D3DVECTOR(23.5f, 0.0f, 11.5f));
+ m_object->SetPosition(10+i, Math::Vector(23.5f, 0.0f, -11.5f));
+ m_object->SetPosition(18+i, Math::Vector(23.5f, 0.0f, 11.5f));
}
m_main->SetMovieLock(false); // you can play!
@@ -1294,7 +1294,7 @@ void CAutoBase::FreezeCargo(bool bFreeze)
{
CObject* pObj;
CPhysics* physics;
- D3DVECTOR oPos;
+ Math::Vector oPos;
float dist;
int i;
@@ -1309,7 +1309,7 @@ void CAutoBase::FreezeCargo(bool bFreeze)
if ( pObj->RetTruck() != 0 ) continue; // transport object?
oPos = pObj->RetPosition(0);
- dist = Length2d(m_pos, oPos);
+ dist = Math::DistanceProjected(m_pos, oPos);
if ( dist < 32.0f )
{
if ( bFreeze )
@@ -1331,7 +1331,7 @@ void CAutoBase::FreezeCargo(bool bFreeze)
void CAutoBase::MoveCargo()
{
CObject* pObj;
- D3DVECTOR oPos, sPos;
+ Math::Vector oPos, sPos;
int i;
sPos = m_object->RetPosition(0);
@@ -1360,7 +1360,7 @@ void CAutoBase::MoveCargo()
Error CAutoBase::CheckCloseDoor()
{
CObject* pObj;
- D3DVECTOR oPos;
+ Math::Vector oPos;
ObjectType type;
float oRad, dist;
int i, j;
@@ -1379,7 +1379,7 @@ Error CAutoBase::CheckCloseDoor()
j = 0;
while ( pObj->GetCrashSphere(j++, oPos, oRad) )
{
- dist = Length2d(m_pos, oPos);
+ dist = Math::DistanceProjected(m_pos, oPos);
if ( dist+oRad > 32.0f &&
dist-oRad < 72.0f )
{
diff --git a/src/object/auto/autobase.h b/src/object/auto/autobase.h
index 513f16e..aed5a47 100644
--- a/src/object/auto/autobase.h
+++ b/src/object/auto/autobase.h
@@ -102,10 +102,10 @@ protected:
float m_lastMotorParticule;
float m_fogStart;
float m_deepView;
- D3DVECTOR m_pos;
- D3DVECTOR m_posSound;
- D3DVECTOR m_finalPos;
- D3DVECTOR m_lastPos;
+ Math::Vector m_pos;
+ Math::Vector m_posSound;
+ Math::Vector m_finalPos;
+ Math::Vector m_lastPos;
int m_param;
int m_soundChannel;
int m_partiChannel[8];
diff --git a/src/object/auto/autoconvert.cpp b/src/object/auto/autoconvert.cpp
index 75dcc9c..ef5fbb1 100644
--- a/src/object/auto/autoconvert.cpp
+++ b/src/object/auto/autoconvert.cpp
@@ -109,7 +109,7 @@ void CAutoConvert::Init()
bool CAutoConvert::EventProcess(const Event &event)
{
CObject* fret;
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim, c, p;
float angle;
@@ -230,7 +230,7 @@ bool CAutoConvert::EventProcess(const Event &event)
pos.x = p.x;
pos.z = p.y;
pos.y += 1.0f;
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = Math::Rand()*2.0f+1.0f;
dim.y = dim.x;
m_particule->CreateParticule(pos, speed, dim, PARTIGAS, 1.0f, 0.0f, 0.0f);
@@ -276,7 +276,7 @@ bool CAutoConvert::EventProcess(const Event &event)
pos.x += (Math::Rand()-0.5f)*6.0f;
pos.z += (Math::Rand()-0.5f)*6.0f;
pos.y += Math::Rand()*4.0f;
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = Math::Rand()*4.0f+3.0f;
dim.y = dim.x;
m_particule->CreateParticule(pos, speed, dim, PARTIBLUE, 1.0f, 0.0f, 0.0f);
@@ -420,7 +420,7 @@ bool CAutoConvert::Read(char *line)
CObject* CAutoConvert::SearchStone(ObjectType type)
{
CObject* pObj;
- D3DVECTOR cPos, oPos;
+ Math::Vector cPos, oPos;
ObjectType oType;
float dist;
int i;
@@ -437,7 +437,7 @@ CObject* CAutoConvert::SearchStone(ObjectType type)
if ( pObj->RetTruck() != 0 ) continue;
oPos = pObj->RetPosition(0);
- dist = Length(oPos, cPos);
+ dist = Math::Distance(oPos, cPos);
if ( dist <= 5.0f ) return pObj;
}
@@ -450,7 +450,7 @@ CObject* CAutoConvert::SearchStone(ObjectType type)
bool CAutoConvert::SearchVehicle()
{
CObject* pObj;
- D3DVECTOR cPos, oPos;
+ Math::Vector cPos, oPos;
ObjectType type;
float oRadius, dist;
int i;
@@ -505,7 +505,7 @@ bool CAutoConvert::SearchVehicle()
type != OBJECT_WORM ) continue;
if ( !pObj->GetCrashSphere(0, oPos, oRadius) ) continue;
- dist = Length(oPos, cPos)-oRadius;
+ dist = Math::Distance(oPos, cPos)-oRadius;
if ( dist < 8.0f ) return true;
}
@@ -517,7 +517,7 @@ bool CAutoConvert::SearchVehicle()
void CAutoConvert::CreateMetal()
{
- D3DVECTOR pos;
+ Math::Vector pos;
float angle;
CObject* fret;
diff --git a/src/object/auto/autoderrick.cpp b/src/object/auto/autoderrick.cpp
index 7f40da0..3e33466 100644
--- a/src/object/auto/autoderrick.cpp
+++ b/src/object/auto/autoderrick.cpp
@@ -20,6 +20,7 @@
#include <d3d.h>
#include "common/struct.h"
+#include "math/geometry.h"
#include "graphics/d3d/d3dengine.h"
#include "math/old/d3dmath.h"
#include "common/event.h"
@@ -95,8 +96,8 @@ void CAutoDerrick::DeleteObject(bool bAll)
void CAutoDerrick::Init()
{
- D3DMATRIX* mat;
- D3DVECTOR pos;
+ Math::Matrix* mat;
+ Math::Vector pos;
TerrainRes res;
pos = m_object->RetPosition(0);
@@ -133,9 +134,9 @@ void CAutoDerrick::Init()
m_lastParticule = 0.0f;
m_lastTrack = 0.0f;
- pos = D3DVECTOR(7.0f, 0.0f, 0.0f);
+ pos = Math::Vector(7.0f, 0.0f, 0.0f);
mat = m_object->RetWorldMatrix(0);
- pos = Transform(*mat, pos);
+ pos = Math::Transform(*mat, pos);
m_terrain->MoveOnFloor(pos);
m_fretPos = pos;
}
@@ -146,7 +147,7 @@ void CAutoDerrick::Init()
bool CAutoDerrick::EventProcess(const Event &event)
{
CObject* fret;
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim;
float angle, duration, factor;
@@ -345,7 +346,7 @@ bool CAutoDerrick::EventProcess(const Event &event)
pos.x += (Math::Rand()-0.5f)*5.0f;
pos.z += (Math::Rand()-0.5f)*5.0f;
pos.y += (Math::Rand()-0.5f)*5.0f;
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 3.0f;
dim.y = dim.x;
m_particule->CreateParticule(pos, speed, dim, PARTIFIRE, 1.0f, 0.0f, 0.0f);
@@ -356,7 +357,7 @@ bool CAutoDerrick::EventProcess(const Event &event)
pos.x += (Math::Rand()-0.5f)*5.0f;
pos.z += (Math::Rand()-0.5f)*5.0f;
pos.y += Math::Rand()*2.5f;
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 1.0f;
dim.y = dim.x;
m_particule->CreateParticule(pos, speed, dim, PARTIGLINT, 2.0f, 0.0f, 0.0f);
@@ -481,7 +482,7 @@ bool CAutoDerrick::Read(char *line)
CObject* CAutoDerrick::SearchFret()
{
CObject* pObj;
- D3DVECTOR oPos;
+ Math::Vector oPos;
ObjectType type;
int i;
@@ -504,10 +505,10 @@ CObject* CAutoDerrick::SearchFret()
// Seeks if a site is free.
-bool CAutoDerrick::SearchFree(D3DVECTOR pos)
+bool CAutoDerrick::SearchFree(Math::Vector pos)
{
CObject* pObj;
- D3DVECTOR sPos;
+ Math::Vector sPos;
ObjectType type;
float sRadius, distance;
int i, j;
@@ -523,7 +524,7 @@ bool CAutoDerrick::SearchFree(D3DVECTOR pos)
j = 0;
while ( pObj->GetCrashSphere(j++, sPos, sRadius) )
{
- distance = Length(sPos, pos);
+ distance = Math::Distance(sPos, pos);
distance -= sRadius;
if ( distance < 2.0f ) return false; // location occupied
}
@@ -534,7 +535,7 @@ bool CAutoDerrick::SearchFree(D3DVECTOR pos)
// Create a transportable object.
-void CAutoDerrick::CreateFret(D3DVECTOR pos, float angle, ObjectType type,
+void CAutoDerrick::CreateFret(Math::Vector pos, float angle, ObjectType type,
float height)
{
CObject* fret;
diff --git a/src/object/auto/autoderrick.h b/src/object/auto/autoderrick.h
index 9306a86..fb39bc3 100644
--- a/src/object/auto/autoderrick.h
+++ b/src/object/auto/autoderrick.h
@@ -63,8 +63,8 @@ public:
protected:
CObject* SearchFret();
- bool SearchFree(D3DVECTOR pos);
- void CreateFret(D3DVECTOR pos, float angle, ObjectType type, float height);
+ bool SearchFree(Math::Vector pos);
+ void CreateFret(Math::Vector pos, float angle, ObjectType type, float height);
bool ExistKey();
protected:
@@ -74,7 +74,7 @@ protected:
float m_timeVirus;
float m_lastParticule;
float m_lastTrack;
- D3DVECTOR m_fretPos;
+ Math::Vector m_fretPos;
int m_soundChannel;
bool m_bSoundFall;
};
diff --git a/src/object/auto/autodestroyer.cpp b/src/object/auto/autodestroyer.cpp
index b7c1221..76648f1 100644
--- a/src/object/auto/autodestroyer.cpp
+++ b/src/object/auto/autodestroyer.cpp
@@ -91,7 +91,7 @@ bool CAutoDestroyer::EventProcess(const Event &event)
{
CObject* scrap;
CPyro* pyro;
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim;
CAuto::EventProcess(event);
@@ -161,13 +161,13 @@ bool CAutoDestroyer::EventProcess(const Event &event)
if ( m_progress < 1.0f )
{
- pos = D3DVECTOR(0.0f, -10.0f, 0.0f);
+ pos = Math::Vector(0.0f, -10.0f, 0.0f);
pos.y = -Math::Bounce(m_progress, 0.3f)*10.0f;
m_object->SetPosition(1, pos);
}
else
{
- m_object->SetPosition(1, D3DVECTOR(0.0f, -10.0f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(0.0f, -10.0f, 0.0f));
m_sound->Play(SOUND_REPAIR, m_object->RetPosition(0));
m_phase = ADEP_REPAIR;
@@ -195,13 +195,13 @@ bool CAutoDestroyer::EventProcess(const Event &event)
{
if ( m_progress < 1.0f )
{
- pos = D3DVECTOR(0.0f, -10.0f, 0.0f);
+ pos = Math::Vector(0.0f, -10.0f, 0.0f);
pos.y = -(1.0f-m_progress)*10.0f;
m_object->SetPosition(1, pos);
}
else
{
- m_object->SetPosition(1, D3DVECTOR(0.0f, 0.0f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(0.0f, 0.0f, 0.0f));
m_phase = ADEP_WAIT;
m_progress = 0.0f;
@@ -248,7 +248,7 @@ bool CAutoDestroyer::CreateInterface(bool bSelect)
CObject* CAutoDestroyer::SearchPlastic()
{
CObject* pObj;
- D3DVECTOR sPos, oPos;
+ Math::Vector sPos, oPos;
ObjectType type;
float dist;
int i;
@@ -265,7 +265,7 @@ CObject* CAutoDestroyer::SearchPlastic()
type != OBJECT_SCRAP5 ) continue;
oPos = pObj->RetPosition(0);
- dist = Length(oPos, sPos);
+ dist = Math::Distance(oPos, sPos);
if ( dist <= 5.0f ) return pObj;
}
@@ -277,7 +277,7 @@ CObject* CAutoDestroyer::SearchPlastic()
bool CAutoDestroyer::SearchVehicle()
{
CObject* pObj;
- D3DVECTOR cPos, oPos;
+ Math::Vector cPos, oPos;
ObjectType type;
float oRadius, dist;
int i;
@@ -325,7 +325,7 @@ bool CAutoDestroyer::SearchVehicle()
type != OBJECT_WORM ) continue;
if ( !pObj->GetCrashSphere(0, oPos, oRadius) ) continue;
- dist = Length(oPos, cPos)-oRadius;
+ dist = Math::Distance(oPos, cPos)-oRadius;
if ( dist < 20.0f ) return true;
}
diff --git a/src/object/auto/autoegg.cpp b/src/object/auto/autoegg.cpp
index c6400f8..56a2899 100644
--- a/src/object/auto/autoegg.cpp
+++ b/src/object/auto/autoegg.cpp
@@ -20,6 +20,7 @@
#include <d3d.h>
#include "common/struct.h"
+#include "math/geometry.h"
#include "graphics/d3d/d3dengine.h"
#include "math/old/d3dmath.h"
#include "common/event.h"
@@ -283,7 +284,7 @@ CObject* CAutoEgg::SearchAlien()
{
CObject* pObj;
CObject* pBest;
- D3DVECTOR cPos, oPos;
+ Math::Vector cPos, oPos;
ObjectType type;
float dist, min;
int i;
@@ -305,7 +306,7 @@ CObject* CAutoEgg::SearchAlien()
type != OBJECT_WORM ) continue;
oPos = pObj->RetPosition(0);
- dist = Length2d(oPos, cPos);
+ dist = Math::DistanceProjected(oPos, cPos);
if ( dist < 8.0f && dist < min )
{
min = dist;
diff --git a/src/object/auto/autoenergy.cpp b/src/object/auto/autoenergy.cpp
index d4f4ce9..351db83 100644
--- a/src/object/auto/autoenergy.cpp
+++ b/src/object/auto/autoenergy.cpp
@@ -122,7 +122,7 @@ void CAutoEnergy::Init()
bool CAutoEnergy::EventProcess(const Event &event)
{
CObject* fret;
- D3DVECTOR pos, ppos, speed;
+ Math::Vector pos, ppos, speed;
Math::Point dim, c, p;
TerrainRes res;
float big;
@@ -201,7 +201,7 @@ bool CAutoEnergy::EventProcess(const Event &event)
pos = m_object->RetPosition(0);
pos.y += 4.0f;
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 3.0f;
dim.y = dim.x;
m_partiSphere = m_particule->CreateParticule(pos, speed, dim, PARTISPHERE1, ENERGY_DELAY, 0.0f, 0.0f);
@@ -290,7 +290,7 @@ bool CAutoEnergy::EventProcess(const Event &event)
pos.x = p.x;
pos.z = p.y;
pos.y += 2.5f+Math::Rand()*3.0f;
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = Math::Rand()*2.0f+1.0f;
dim.y = dim.x;
m_particule->CreateParticule(pos, speed, dim, PARTIGLINT, 1.0f, 0.0f, 0.0f);
@@ -333,7 +333,7 @@ bool CAutoEnergy::EventProcess(const Event &event)
fret->SetZoom(0, 1.0f);
fret->SetLock(false); // usable battery
fret->SetTruck(m_object);
- fret->SetPosition(0, D3DVECTOR(0.0f, 3.0f, 0.0f));
+ fret->SetPosition(0, Math::Vector(0.0f, 3.0f, 0.0f));
m_object->SetPower(fret);
m_displayText->DisplayError(INFO_ENERGY, m_object);
@@ -408,7 +408,7 @@ CObject* CAutoEnergy::SearchMetal()
bool CAutoEnergy::SearchVehicle()
{
CObject* pObj;
- D3DVECTOR cPos, oPos;
+ Math::Vector cPos, oPos;
ObjectType type;
float oRadius, dist;
int i;
@@ -456,7 +456,7 @@ bool CAutoEnergy::SearchVehicle()
type != OBJECT_WORM ) continue;
if ( !pObj->GetCrashSphere(0, oPos, oRadius) ) continue;
- dist = Length(oPos, cPos)-oRadius;
+ dist = Math::Distance(oPos, cPos)-oRadius;
if ( dist < 10.0f ) return true;
}
@@ -469,7 +469,7 @@ bool CAutoEnergy::SearchVehicle()
void CAutoEnergy::CreatePower()
{
CObject* power;
- D3DVECTOR pos;
+ Math::Vector pos;
float angle;
pos = m_object->RetPosition(0);
@@ -494,7 +494,7 @@ void CAutoEnergy::CreatePower()
CObject* CAutoEnergy::SearchPower()
{
CObject* pObj;
- D3DVECTOR cPos, oPos;
+ Math::Vector cPos, oPos;
ObjectType type;
int i;
diff --git a/src/object/auto/autofactory.cpp b/src/object/auto/autofactory.cpp
index 1fc669f..f552440 100644
--- a/src/object/auto/autofactory.cpp
+++ b/src/object/auto/autofactory.cpp
@@ -20,6 +20,7 @@
#include <d3d.h>
#include "math/const.h"
+#include "math/geometry.h"
#include "common/struct.h"
#include "graphics/d3d/d3dengine.h"
#include "math/old/d3dmath.h"
@@ -125,9 +126,9 @@ bool CAutoFactory::EventProcess(const Event &event)
{
CObject* fret;
CObject* vehicle;
- D3DMATRIX* mat;
+ Math::Matrix* mat;
CPhysics* physics;
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim;
ObjectType type;
float zoom, angle, prog;
@@ -348,8 +349,8 @@ bool CAutoFactory::EventProcess(const Event &event)
m_particule->CreateParticule(pos, speed, dim, PARTIBLUE, 1.0f, 0.0f, 0.0f);
#else
mat = m_object->RetWorldMatrix(0);
- pos = D3DVECTOR(-12.0f, 20.0f, -4.0f); // position of chimney
- pos = Transform(*mat, pos);
+ pos = Math::Vector(-12.0f, 20.0f, -4.0f); // position of chimney
+ pos = Math::Transform(*mat, pos);
pos.y += 2.0f;
pos.x += (Math::Rand()-0.5f)*2.0f;
pos.z += (Math::Rand()-0.5f)*2.0f;
@@ -416,7 +417,7 @@ bool CAutoFactory::EventProcess(const Event &event)
pos.x += (Math::Rand()-0.5f)*10.0f;
pos.z += (Math::Rand()-0.5f)*10.0f;
pos.y += Math::Rand()*10.0f;
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 2.0f;
dim.y = dim.x;
m_particule->CreateParticule(pos, speed, dim, PARTIGLINT, 2.0f, 0.0f, 0.0f);
@@ -459,7 +460,7 @@ bool CAutoFactory::EventProcess(const Event &event)
pos.x += (Math::Rand()-0.5f)*10.0f;
pos.z += (Math::Rand()-0.5f)*10.0f;
pos.y += Math::Rand()*10.0f;
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 2.0f;
dim.y = dim.x;
m_particule->CreateParticule(pos, speed, dim, PARTIGLINT, 2.0f, 0.0f, 0.0f);
@@ -535,7 +536,7 @@ bool CAutoFactory::Read(char *line)
CObject* CAutoFactory::SearchFret()
{
CObject* pObj;
- D3DVECTOR oPos;
+ Math::Vector oPos;
ObjectType type;
float dist;
int i;
@@ -550,7 +551,7 @@ CObject* CAutoFactory::SearchFret()
if ( pObj->RetTruck() != 0 ) continue;
oPos = pObj->RetPosition(0);
- dist = Length(oPos, m_fretPos);
+ dist = Math::Distance(oPos, m_fretPos);
if ( dist < 8.0f ) return pObj;
}
@@ -563,7 +564,7 @@ CObject* CAutoFactory::SearchFret()
bool CAutoFactory::NearestVehicle()
{
CObject* pObj;
- D3DVECTOR cPos, oPos;
+ Math::Vector cPos, oPos;
ObjectType type;
float oRadius, dist;
int i;
@@ -611,7 +612,7 @@ bool CAutoFactory::NearestVehicle()
type != OBJECT_WORM ) continue;
if ( !pObj->GetCrashSphere(0, oPos, oRadius) ) continue;
- dist = Length(oPos, cPos)-oRadius;
+ dist = Math::Distance(oPos, cPos)-oRadius;
if ( dist < 10.0f ) return true;
}
@@ -625,9 +626,9 @@ bool CAutoFactory::NearestVehicle()
bool CAutoFactory::CreateVehicle()
{
CObject* vehicle;
- D3DMATRIX* mat;
+ Math::Matrix* mat;
CPhysics* physics;
- D3DVECTOR pos;
+ Math::Vector pos;
float angle;
char* name;
int i;
@@ -640,11 +641,11 @@ bool CAutoFactory::CreateVehicle()
m_type == OBJECT_MOBILErr ||
m_type == OBJECT_MOBILErs )
{
- pos = D3DVECTOR(2.0f, 0.0f, 0.0f);
+ pos = Math::Vector(2.0f, 0.0f, 0.0f);
}
else
{
- pos = D3DVECTOR(4.0f, 0.0f, 0.0f);
+ pos = Math::Vector(4.0f, 0.0f, 0.0f);
}
pos = Transform(*mat, pos);
@@ -680,7 +681,7 @@ bool CAutoFactory::CreateVehicle()
CObject* CAutoFactory::SearchVehicle()
{
CObject* pObj;
- D3DVECTOR oPos;
+ Math::Vector oPos;
ObjectType type;
float dist;
int i;
@@ -697,7 +698,7 @@ CObject* CAutoFactory::SearchVehicle()
if ( pObj->RetTruck() != 0 ) continue;
oPos = pObj->RetPosition(0);
- dist = Length(oPos, m_fretPos);
+ dist = Math::Distance(oPos, m_fretPos);
if ( dist < 8.0f ) return pObj;
}
diff --git a/src/object/auto/autofactory.h b/src/object/auto/autofactory.h
index 82e2a96..30692c8 100644
--- a/src/object/auto/autofactory.h
+++ b/src/object/auto/autofactory.h
@@ -76,7 +76,7 @@ protected:
float m_progress;
float m_speed;
float m_lastParticule;
- D3DVECTOR m_fretPos;
+ Math::Vector m_fretPos;
int m_channelSound;
};
diff --git a/src/object/auto/autoflag.cpp b/src/object/auto/autoflag.cpp
index c75f914..b6497eb 100644
--- a/src/object/auto/autoflag.cpp
+++ b/src/object/auto/autoflag.cpp
@@ -73,7 +73,7 @@ void CAutoFlag::DeleteObject(bool bAll)
void CAutoFlag::Init()
{
- D3DVECTOR wind;
+ Math::Vector wind;
float angle;
m_time = 0.0f;
@@ -84,7 +84,7 @@ void CAutoFlag::Init()
angle = Math::RotateAngle(wind.x, -wind.z);
m_object->SetAngleY(0, angle); // directs the flag in the wind
- m_strong = Length(wind);
+ m_strong = wind.Length();
}
diff --git a/src/object/auto/autohuston.cpp b/src/object/auto/autohuston.cpp
index 9ff5197..256d394 100644
--- a/src/object/auto/autohuston.cpp
+++ b/src/object/auto/autohuston.cpp
@@ -44,7 +44,7 @@
CAutoHuston::CAutoHuston(CInstanceManager* iMan, CObject* object)
: CAuto(iMan, object)
{
- D3DVECTOR pos;
+ Math::Vector pos;
int i;
for ( i=0 ; i<HUSTONMAXLENS ; i++ )
@@ -57,10 +57,10 @@ CAutoHuston::CAutoHuston(CInstanceManager* iMan, CObject* object)
m_lens[1].type = PARTISELR;
m_lens[2].type = PARTISELR;
m_lens[3].type = PARTISELR;
- m_lens[0].pos = pos+D3DVECTOR(0.0f+13.0f, 34.0f, 30.0f );
- m_lens[1].pos = pos+D3DVECTOR(0.0f-13.0f, 34.0f, 30.0f );
- m_lens[2].pos = pos+D3DVECTOR(0.0f , 34.0f, 30.0f+13.0f);
- m_lens[3].pos = pos+D3DVECTOR(0.0f , 34.0f, 30.0f-13.0f);
+ m_lens[0].pos = pos+Math::Vector(0.0f+13.0f, 34.0f, 30.0f );
+ m_lens[1].pos = pos+Math::Vector(0.0f-13.0f, 34.0f, 30.0f );
+ m_lens[2].pos = pos+Math::Vector(0.0f , 34.0f, 30.0f+13.0f);
+ m_lens[3].pos = pos+Math::Vector(0.0f , 34.0f, 30.0f-13.0f);
m_lens[0].dim = 4.0f;
m_lens[1].dim = 4.0f;
m_lens[2].dim = 4.0f;
@@ -77,46 +77,46 @@ CAutoHuston::CAutoHuston(CInstanceManager* iMan, CObject* object)
// Part under the radar.
i = 4;
m_lens[i].type = PARTISELR;
- m_lens[i].pos = pos+D3DVECTOR(-7.0f, 9.9f, 40.1f);
+ m_lens[i].pos = pos+Math::Vector(-7.0f, 9.9f, 40.1f);
m_lens[i].dim = 1.8f;
m_lens[i].total = 0.4f;
m_lens[i].off = 0.2f;
i ++;
m_lens[i].type = PARTISELY;
- m_lens[i].pos = pos+D3DVECTOR(-7.0f, 7.2f, 34.8f);
+ m_lens[i].pos = pos+Math::Vector(-7.0f, 7.2f, 34.8f);
m_lens[i].dim = 0.4f;
m_lens[i].total = 0.7f;
m_lens[i].off = 0.3f;
i ++;
m_lens[i].type = PARTISELY;
- m_lens[i].pos = pos+D3DVECTOR(-7.0f, 6.5f, 34.3f);
+ m_lens[i].pos = pos+Math::Vector(-7.0f, 6.5f, 34.3f);
m_lens[i].dim = 0.4f;
m_lens[i].total = 0.7f;
m_lens[i].off = 0.3f;
i ++;
m_lens[i].type = PARTISELR;
- m_lens[i].pos = pos+D3DVECTOR(-7.0f, 6.5f, 33.4f);
+ m_lens[i].pos = pos+Math::Vector(-7.0f, 6.5f, 33.4f);
m_lens[i].dim = 0.4f;
m_lens[i].total = 0.0f;
m_lens[i].off = 0.0f;
i ++;
m_lens[i].type = PARTISELR;
- m_lens[i].pos = pos+D3DVECTOR(-7.0f, 6.5f, 33.0f);
+ m_lens[i].pos = pos+Math::Vector(-7.0f, 6.5f, 33.0f);
m_lens[i].dim = 0.4f;
m_lens[i].total = 1.0f;
m_lens[i].off = 0.5f;
i ++;
m_lens[i].type = PARTISELY;
- m_lens[i].pos = pos+D3DVECTOR(-7.0f, 8.5f, 14.0f);
+ m_lens[i].pos = pos+Math::Vector(-7.0f, 8.5f, 14.0f);
m_lens[i].dim = 1.2f;
m_lens[i].total = 0.8f;
m_lens[i].off = 0.2f;
i ++;
m_lens[i].type = PARTISELR;
- m_lens[i].pos = pos+D3DVECTOR(4.0f, 6.0f, 8.6f);
+ m_lens[i].pos = pos+Math::Vector(4.0f, 6.0f, 8.6f);
m_lens[i].dim = 1.0f;
m_lens[i].total = 0.9f;
m_lens[i].off = 0.7f;
@@ -124,53 +124,53 @@ CAutoHuston::CAutoHuston(CInstanceManager* iMan, CObject* object)
// Part with three windows.
m_lens[i].type = PARTISELR;
- m_lens[i].pos = pos+D3DVECTOR(-7.0f, 9.9f, -19.9f);
+ m_lens[i].pos = pos+Math::Vector(-7.0f, 9.9f, -19.9f);
m_lens[i].dim = 1.0f;
m_lens[i].total = 0.6f;
m_lens[i].off = 0.3f;
i ++;
m_lens[i].type = PARTISELY;
- m_lens[i].pos = pos+D3DVECTOR(-7.0f, 7.2f, 34.8f-60.0f);
+ m_lens[i].pos = pos+Math::Vector(-7.0f, 7.2f, 34.8f-60.0f);
m_lens[i].dim = 0.4f;
m_lens[i].total = 0.7f;
m_lens[i].off = 0.3f;
i ++;
m_lens[i].type = PARTISELY;
- m_lens[i].pos = pos+D3DVECTOR(-7.0f, 6.5f, 34.3f-60.0f);
+ m_lens[i].pos = pos+Math::Vector(-7.0f, 6.5f, 34.3f-60.0f);
m_lens[i].dim = 0.4f;
m_lens[i].total = 0.0f;
m_lens[i].off = 0.0f;
i ++;
m_lens[i].type = PARTISELR;
- m_lens[i].pos = pos+D3DVECTOR(-7.0f, 6.5f, 33.4f-60.0f);
+ m_lens[i].pos = pos+Math::Vector(-7.0f, 6.5f, 33.4f-60.0f);
m_lens[i].dim = 0.4f;
m_lens[i].total = 0.6f;
m_lens[i].off = 0.4f;
i ++;
m_lens[i].type = PARTISELR;
- m_lens[i].pos = pos+D3DVECTOR(-7.0f, 6.5f, 33.0f-60.0f);
+ m_lens[i].pos = pos+Math::Vector(-7.0f, 6.5f, 33.0f-60.0f);
m_lens[i].dim = 0.4f;
m_lens[i].total = 0.8f;
m_lens[i].off = 0.2f;
i ++;
m_lens[i].type = PARTISELY;
- m_lens[i].pos = pos+D3DVECTOR(-6.5f, 13.5f, -37.0f);
+ m_lens[i].pos = pos+Math::Vector(-6.5f, 13.5f, -37.0f);
m_lens[i].dim = 1.0f;
m_lens[i].total = 0.0f;
m_lens[i].off = 0.0f;
i ++;
m_lens[i].type = PARTISELY;
- m_lens[i].pos = pos+D3DVECTOR(-7.0f, 12.2f, -39.8f);
+ m_lens[i].pos = pos+Math::Vector(-7.0f, 12.2f, -39.8f);
m_lens[i].dim = 1.8f;
m_lens[i].total = 1.5f;
m_lens[i].off = 0.5f;
i ++;
m_lens[i].type = PARTISELY;
- m_lens[i].pos = pos+D3DVECTOR(-7.0f, 8.5f, -47.0f);
+ m_lens[i].pos = pos+Math::Vector(-7.0f, 8.5f, -47.0f);
m_lens[i].dim = 0.6f;
m_lens[i].total = 0.7f;
m_lens[i].off = 0.5f;
@@ -218,7 +218,7 @@ void CAutoHuston::Start(int param)
bool CAutoHuston::EventProcess(const Event &event)
{
- D3DVECTOR speed;
+ Math::Vector speed;
Math::Point dim;
float angle;
int i;
@@ -237,7 +237,7 @@ bool CAutoHuston::EventProcess(const Event &event)
m_progress += event.rTime*m_speed;
// Flashes the keys.
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
for ( i=0 ; i<m_lensTotal ; i++ )
{
if ( m_lens[i].total != 0.0f &&
diff --git a/src/object/auto/autohuston.h b/src/object/auto/autohuston.h
index 552def8..4e79a9c 100644
--- a/src/object/auto/autohuston.h
+++ b/src/object/auto/autohuston.h
@@ -37,7 +37,7 @@ struct HustonLens
{
int parti;
ParticuleType type;
- D3DVECTOR pos;
+ Math::Vector pos;
float dim;
float total;
float off;
diff --git a/src/object/auto/autoinfo.cpp b/src/object/auto/autoinfo.cpp
index f96808c..783dd56 100644
--- a/src/object/auto/autoinfo.cpp
+++ b/src/object/auto/autoinfo.cpp
@@ -83,7 +83,7 @@ void CAutoInfo::Init()
void CAutoInfo::Start(int param)
{
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim;
if ( param == 0 ) // instruction "receive" ?
@@ -112,7 +112,7 @@ void CAutoInfo::Start(int param)
{
pos = m_goal;
pos.y += 9.5f;
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 30.0f;
dim.y = dim.x;
m_particule->CreateParticule(pos, speed, dim, PARTISPHERE4, 1.5f, 0.0f, 0.0f);
@@ -123,7 +123,7 @@ void CAutoInfo::Start(int param)
{
pos = m_goal;
pos.y += 9.5f;
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 50.0f;
dim.y = dim.x;
m_particule->CreateParticule(pos, speed, dim, PARTISPHERE6, 1.5f, 0.0f, 0.0f);
@@ -141,7 +141,7 @@ void CAutoInfo::Start(int param)
bool CAutoInfo::EventProcess(const Event &event)
{
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim;
float duration, angle, rTime;
int i;
diff --git a/src/object/auto/autoinfo.h b/src/object/auto/autoinfo.h
index 7cd3002..7596c41 100644
--- a/src/object/auto/autoinfo.h
+++ b/src/object/auto/autoinfo.h
@@ -71,7 +71,7 @@ protected:
float m_speed;
float m_timeVirus;
float m_lastParticule;
- D3DVECTOR m_goal;
+ Math::Vector m_goal;
bool m_bLastVirus;
};
diff --git a/src/object/auto/autojostle.cpp b/src/object/auto/autojostle.cpp
index ee09d93..c2e3eea 100644
--- a/src/object/auto/autojostle.cpp
+++ b/src/object/auto/autojostle.cpp
@@ -105,7 +105,7 @@ void CAutoJostle::Start(int param, float force)
bool CAutoJostle::EventProcess(const Event &event)
{
- D3DVECTOR dir;
+ Math::Vector dir;
float factor, angle, zoom;
CAuto::EventProcess(event);
@@ -145,7 +145,7 @@ bool CAutoJostle::EventProcess(const Event &event)
{
m_object->SetAngleX(0, 0.0f);
m_object->SetAngleZ(0, 0.0f);
- m_object->SetZoom(0, D3DVECTOR(1.0f, 1.0f, 1.0f));
+ m_object->SetZoom(0, Math::Vector(1.0f, 1.0f, 1.0f));
m_error = ERR_STOP;
}
diff --git a/src/object/auto/autokid.cpp b/src/object/auto/autokid.cpp
index 5507d0f..f2f90b3 100644
--- a/src/object/auto/autokid.cpp
+++ b/src/object/auto/autokid.cpp
@@ -73,7 +73,7 @@ void CAutoKid::DeleteObject(bool bAll)
void CAutoKid::Init()
{
- D3DVECTOR pos;
+ Math::Vector pos;
m_speed = 1.0f/1.0f;
m_progress = 0.0f;
@@ -108,7 +108,7 @@ void CAutoKid::Init()
bool CAutoKid::EventProcess(const Event &event)
{
- D3DVECTOR vib, pos, speed;
+ Math::Vector vib, pos, speed;
Math::Point dim;
CAuto::EventProcess(event);
diff --git a/src/object/auto/autolabo.cpp b/src/object/auto/autolabo.cpp
index 7033318..828e1c2 100644
--- a/src/object/auto/autolabo.cpp
+++ b/src/object/auto/autolabo.cpp
@@ -128,7 +128,7 @@ void CAutoLabo::Init()
bool CAutoLabo::EventProcess(const Event &event)
{
CObject* power;
- D3DVECTOR pos, goal, speed;
+ Math::Vector pos, goal, speed;
Math::Point dim, rot;
float angle;
int i;
@@ -243,7 +243,7 @@ bool CAutoLabo::EventProcess(const Event &event)
}
else
{
- m_object->SetPosition(1, D3DVECTOR(-9.0f, 13.0f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(-9.0f, 13.0f, 0.0f));
SoundManip(1.5f, 1.0f, 0.5f);
m_phase = ALAP_OPEN3;
@@ -284,7 +284,7 @@ bool CAutoLabo::EventProcess(const Event &event)
pos = m_object->RetPosition(0);
pos.y += 4.0f;
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 4.0f;
dim.y = dim.x;
m_partiSphere = m_particule->CreateParticule(pos, speed, dim, PARTISPHERE2, LABO_DELAY, 0.0f, 0.0f);
@@ -400,7 +400,7 @@ bool CAutoLabo::EventProcess(const Event &event)
}
else
{
- m_object->SetPosition(1, D3DVECTOR(-9.0f, 3.0f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(-9.0f, 3.0f, 0.0f));
SoundManip(1.0f, 1.0f, 1.0f);
m_phase = ALAP_CLOSE3;
@@ -578,7 +578,7 @@ void CAutoLabo::SoundManip(float time, float amplitude, float frequency)
bool CAutoLabo::Write(char *line)
{
- D3DVECTOR pos;
+ Math::Vector pos;
char name[100];
if ( m_phase == ALAP_WAIT ) return false;
@@ -607,7 +607,7 @@ bool CAutoLabo::Write(char *line)
bool CAutoLabo::Read(char *line)
{
- D3DVECTOR pos;
+ Math::Vector pos;
if ( OpInt(line, "aExist", 0) == 0 ) return false;
diff --git a/src/object/auto/automush.cpp b/src/object/auto/automush.cpp
index 44272d0..90dc13a 100644
--- a/src/object/auto/automush.cpp
+++ b/src/object/auto/automush.cpp
@@ -79,7 +79,7 @@ void CAutoMush::Init()
bool CAutoMush::EventProcess(const Event &event)
{
- D3DVECTOR pos, speed, dir;
+ Math::Vector pos, speed, dir;
Math::Point dim;
float factor, zoom, size, angle;
int i, channel;
@@ -223,7 +223,7 @@ bool CAutoMush::EventProcess(const Event &event)
{
m_object->SetAngleX(0, 0.0f);
m_object->SetAngleZ(0, 0.0f);
- m_object->SetZoom(0, D3DVECTOR(1.0f, 1.0f, 1.0f));
+ m_object->SetZoom(0, Math::Vector(1.0f, 1.0f, 1.0f));
}
return true;
@@ -235,7 +235,7 @@ bool CAutoMush::EventProcess(const Event &event)
bool CAutoMush::SearchTarget()
{
CObject* pObj;
- D3DVECTOR iPos, oPos;
+ Math::Vector iPos, oPos;
ObjectType type;
float dist;
int i;
@@ -294,7 +294,7 @@ bool CAutoMush::SearchTarget()
type != OBJECT_HUMAN ) continue;
oPos = pObj->RetPosition(0);
- dist = Length(oPos, iPos);
+ dist = Math::Distance(oPos, iPos);
if ( dist < 50.0f ) return true;
}
@@ -314,7 +314,7 @@ Error CAutoMush::RetError()
bool CAutoMush::Write(char *line)
{
- D3DVECTOR pos;
+ Math::Vector pos;
char name[100];
if ( m_phase == AMP_WAIT ) return false;
@@ -340,7 +340,7 @@ bool CAutoMush::Write(char *line)
bool CAutoMush::Read(char *line)
{
- D3DVECTOR pos;
+ Math::Vector pos;
if ( OpInt(line, "aExist", 0) == 0 ) return false;
diff --git a/src/object/auto/autonest.cpp b/src/object/auto/autonest.cpp
index a566444..3644318 100644
--- a/src/object/auto/autonest.cpp
+++ b/src/object/auto/autonest.cpp
@@ -76,7 +76,7 @@ void CAutoNest::DeleteObject(bool bAll)
void CAutoNest::Init()
{
- D3DVECTOR pos;
+ Math::Vector pos;
m_phase = ANP_WAIT;
m_progress = 0.0f;
@@ -155,10 +155,10 @@ bool CAutoNest::EventProcess(const Event &event)
// Seeks if a site is free.
-bool CAutoNest::SearchFree(D3DVECTOR pos)
+bool CAutoNest::SearchFree(Math::Vector pos)
{
CObject* pObj;
- D3DVECTOR sPos;
+ Math::Vector sPos;
ObjectType type;
float sRadius, distance;
int i, j;
@@ -174,7 +174,7 @@ bool CAutoNest::SearchFree(D3DVECTOR pos)
j = 0;
while ( pObj->GetCrashSphere(j++, sPos, sRadius) )
{
- distance = Length(sPos, pos);
+ distance = Math::Distance(sPos, pos);
distance -= sRadius;
if ( distance < 2.0f ) return false; // location occupied
}
@@ -185,7 +185,7 @@ bool CAutoNest::SearchFree(D3DVECTOR pos)
// Create a transportable object.
-void CAutoNest::CreateFret(D3DVECTOR pos, float angle, ObjectType type)
+void CAutoNest::CreateFret(Math::Vector pos, float angle, ObjectType type)
{
CObject* fret;
@@ -204,7 +204,7 @@ void CAutoNest::CreateFret(D3DVECTOR pos, float angle, ObjectType type)
CObject* CAutoNest::SearchFret()
{
CObject* pObj;
- D3DVECTOR oPos;
+ Math::Vector oPos;
ObjectType type;
int i;
@@ -242,7 +242,7 @@ Error CAutoNest::RetError()
bool CAutoNest::Write(char *line)
{
- D3DVECTOR pos;
+ Math::Vector pos;
char name[100];
if ( m_phase == ANP_WAIT ) return false;
@@ -268,7 +268,7 @@ bool CAutoNest::Write(char *line)
bool CAutoNest::Read(char *line)
{
- D3DVECTOR pos;
+ Math::Vector pos;
if ( OpInt(line, "aExist", 0) == 0 ) return false;
diff --git a/src/object/auto/autonest.h b/src/object/auto/autonest.h
index 55ee2f0..faf9235 100644
--- a/src/object/auto/autonest.h
+++ b/src/object/auto/autonest.h
@@ -56,8 +56,8 @@ public:
bool Read(char *line);
protected:
- bool SearchFree(D3DVECTOR pos);
- void CreateFret(D3DVECTOR pos, float angle, ObjectType type);
+ bool SearchFree(Math::Vector pos);
+ void CreateFret(Math::Vector pos, float angle, ObjectType type);
CObject* SearchFret();
protected:
@@ -65,6 +65,6 @@ protected:
float m_progress;
float m_speed;
float m_lastParticule;
- D3DVECTOR m_fretPos;
+ Math::Vector m_fretPos;
};
diff --git a/src/object/auto/autonuclear.cpp b/src/object/auto/autonuclear.cpp
index 49ae0bd..8b9ff36 100644
--- a/src/object/auto/autonuclear.cpp
+++ b/src/object/auto/autonuclear.cpp
@@ -20,6 +20,7 @@
#include <d3d.h>
#include "common/struct.h"
+#include "math/geometry.h"
#include "graphics/d3d/d3dengine.h"
#include "math/old/d3dmath.h"
#include "common/global.h"
@@ -95,14 +96,14 @@ void CAutoNuclear::DeleteObject(bool bAll)
void CAutoNuclear::Init()
{
- D3DMATRIX* mat;
+ Math::Matrix* mat;
m_time = 0.0f;
m_timeVirus = 0.0f;
m_lastParticule = 0.0f;
mat = m_object->RetWorldMatrix(0);
- m_pos = Transform(*mat, D3DVECTOR(22.0f, 4.0f, 0.0f));
+ m_pos = Math::Transform(*mat, Math::Vector(22.0f, 4.0f, 0.0f));
m_phase = ANUP_WAIT; // waiting ...
m_progress = 0.0f;
@@ -117,8 +118,8 @@ void CAutoNuclear::Init()
bool CAutoNuclear::EventProcess(const Event &event)
{
CObject* fret;
- D3DMATRIX* mat;
- D3DVECTOR pos, goal, speed;
+ Math::Matrix* mat;
+ Math::Vector pos, goal, speed;
Math::Point dim, rot;
float angle;
int i, max;
@@ -345,7 +346,7 @@ CObject* CAutoNuclear::SearchUranium()
bool CAutoNuclear::SearchVehicle()
{
CObject* pObj;
- D3DVECTOR oPos;
+ Math::Vector oPos;
ObjectType type;
float oRadius, dist;
int i;
@@ -391,7 +392,7 @@ bool CAutoNuclear::SearchVehicle()
type != OBJECT_WORM ) continue;
if ( !pObj->GetCrashSphere(0, oPos, oRadius) ) continue;
- dist = Length(oPos, m_pos)-oRadius;
+ dist = Math::Distance(oPos, m_pos)-oRadius;
if ( dist < 10.0f ) return true;
}
@@ -404,7 +405,7 @@ bool CAutoNuclear::SearchVehicle()
void CAutoNuclear::CreatePower()
{
CObject* power;
- D3DVECTOR pos;
+ Math::Vector pos;
float angle;
pos = m_object->RetPosition(0);
@@ -419,7 +420,7 @@ void CAutoNuclear::CreatePower()
}
power->SetTruck(m_object);
- power->SetPosition(0, D3DVECTOR(22.0f, 3.0f, 0.0f));
+ power->SetPosition(0, Math::Vector(22.0f, 3.0f, 0.0f));
m_object->SetPower(power);
}
diff --git a/src/object/auto/autonuclear.h b/src/object/auto/autonuclear.h
index 36b3483..df34601 100644
--- a/src/object/auto/autonuclear.h
+++ b/src/object/auto/autonuclear.h
@@ -71,7 +71,7 @@ protected:
float m_speed;
float m_timeVirus;
float m_lastParticule;
- D3DVECTOR m_pos;
+ Math::Vector m_pos;
int m_channelSound;
};
diff --git a/src/object/auto/autopara.cpp b/src/object/auto/autopara.cpp
index 46a34f9..568156b 100644
--- a/src/object/auto/autopara.cpp
+++ b/src/object/auto/autopara.cpp
@@ -20,6 +20,7 @@
#include <d3d.h>
#include "common/struct.h"
+#include "math/geometry.h"
#include "graphics/d3d/d3dengine.h"
#include "math/old/d3dmath.h"
#include "common/global.h"
@@ -79,14 +80,14 @@ void CAutoPara::DeleteObject(bool bAll)
void CAutoPara::Init()
{
- D3DMATRIX* mat;
+ Math::Matrix* mat;
m_time = 0.0f;
m_timeVirus = 0.0f;
m_lastParticule = 0.0f;
mat = m_object->RetWorldMatrix(0);
- m_pos = Transform(*mat, D3DVECTOR(22.0f, 4.0f, 0.0f));
+ m_pos = Math::Transform(*mat, Math::Vector(22.0f, 4.0f, 0.0f));
m_phase = APAP_WAIT; // waiting ...
m_progress = 0.0f;
@@ -110,7 +111,7 @@ void CAutoPara::StartBlitz()
bool CAutoPara::EventProcess(const Event &event)
{
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim;
int i;
@@ -253,7 +254,7 @@ void CAutoPara::ChargeObject(float rTime)
{
CObject* pObj;
CObject* power;
- D3DVECTOR sPos, oPos;
+ Math::Vector sPos, oPos;
float dist, energy;
int i;
@@ -265,7 +266,7 @@ void CAutoPara::ChargeObject(float rTime)
if ( pObj == 0 ) break;
oPos = pObj->RetPosition(0);
- dist = Length(oPos, sPos);
+ dist = Math::Distance(oPos, sPos);
if ( dist > 20.0f ) continue;
if ( pObj->RetTruck() == 0 && pObj->RetType() == OBJECT_POWER )
diff --git a/src/object/auto/autopara.h b/src/object/auto/autopara.h
index 9eab4d7..6878c42 100644
--- a/src/object/auto/autopara.h
+++ b/src/object/auto/autopara.h
@@ -68,7 +68,7 @@ protected:
float m_speed;
float m_timeVirus;
float m_lastParticule;
- D3DVECTOR m_pos;
+ Math::Vector m_pos;
int m_channelSound;
};
diff --git a/src/object/auto/autoportico.cpp b/src/object/auto/autoportico.cpp
index cedb1d7..388bfcc 100644
--- a/src/object/auto/autoportico.cpp
+++ b/src/object/auto/autoportico.cpp
@@ -123,7 +123,7 @@ void CAutoPortico::Init()
void CAutoPortico::Start(int param)
{
- D3DVECTOR pos;
+ Math::Vector pos;
pos = m_object->RetPosition(0);
m_finalPos = pos;
@@ -131,7 +131,7 @@ void CAutoPortico::Start(int param)
m_object->SetPosition(0, pos);
m_finalPos.z += PORTICO_TIME_OPEN*5.3f;
- m_object->SetPosition(1, D3DVECTOR(0.0f, PORTICO_POSa, 0.0f));
+ m_object->SetPosition(1, Math::Vector(0.0f, PORTICO_POSa, 0.0f));
m_object->SetAngleY(2, PORTICO_ANGLE1a);
m_object->SetAngleY(3, PORTICO_ANGLE2a);
m_object->SetAngleY(4, PORTICO_ANGLE3a);
@@ -152,7 +152,7 @@ void CAutoPortico::Start(int param)
bool CAutoPortico::EventProcess(const Event &event)
{
CObject* pObj;
- D3DVECTOR pos;
+ Math::Vector pos;
float angle;
CAuto::EventProcess(event);
@@ -372,7 +372,7 @@ bool CAutoPortico::Abort()
CObject* pObj;
m_object->SetPosition(0, m_finalPos);
- m_object->SetPosition(1, D3DVECTOR(0.0f, PORTICO_POSb, 0.0f));
+ m_object->SetPosition(1, Math::Vector(0.0f, PORTICO_POSb, 0.0f));
m_object->SetAngleY(2, PORTICO_ANGLE1b);
m_object->SetAngleY(3, PORTICO_ANGLE2b);
m_object->SetAngleY(4, PORTICO_ANGLE3b);
diff --git a/src/object/auto/autoportico.h b/src/object/auto/autoportico.h
index 196140d..c6ce6d7 100644
--- a/src/object/auto/autoportico.h
+++ b/src/object/auto/autoportico.h
@@ -69,8 +69,8 @@ protected:
float m_cameraProgress;
float m_cameraSpeed;
float m_lastParticule;
- D3DVECTOR m_finalPos;
- D3DVECTOR m_startPos;
+ Math::Vector m_finalPos;
+ Math::Vector m_startPos;
float m_posTrack;
int m_param;
int m_soundChannel;
diff --git a/src/object/auto/autoradar.cpp b/src/object/auto/autoradar.cpp
index 535bfee..0f91d08 100644
--- a/src/object/auto/autoradar.cpp
+++ b/src/object/auto/autoradar.cpp
@@ -85,7 +85,7 @@ void CAutoRadar::Init()
bool CAutoRadar::EventProcess(const Event &event)
{
- D3DVECTOR pos, ePos;
+ Math::Vector pos, ePos;
float speed, angle, prog, freq, ampl;
CAuto::EventProcess(event);
@@ -274,11 +274,11 @@ void CAutoRadar::UpdateInterface()
// Seeking the position of an enemy.
-bool CAutoRadar::SearchEnemy(D3DVECTOR &pos)
+bool CAutoRadar::SearchEnemy(Math::Vector &pos)
{
CObject* pObj;
CObject* pBest = 0;
- D3DVECTOR iPos, oPos;
+ Math::Vector iPos, oPos;
ObjectType oType;
float distance, min;
int i;
@@ -304,7 +304,7 @@ bool CAutoRadar::SearchEnemy(D3DVECTOR &pos)
m_totalDetect ++;
oPos = pObj->RetPosition(0);
- distance = Length(oPos, iPos);
+ distance = Math::Distance(oPos, iPos);
if ( distance < min )
{
min = distance;
diff --git a/src/object/auto/autoradar.h b/src/object/auto/autoradar.h
index 616a6eb..9681789 100644
--- a/src/object/auto/autoradar.h
+++ b/src/object/auto/autoradar.h
@@ -57,7 +57,7 @@ public:
protected:
void UpdateInterface();
- bool SearchEnemy(D3DVECTOR &pos);
+ bool SearchEnemy(Math::Vector &pos);
protected:
AutoRadarPhase m_phase;
diff --git a/src/object/auto/autorepair.cpp b/src/object/auto/autorepair.cpp
index 79bccc8..fdfb072 100644
--- a/src/object/auto/autorepair.cpp
+++ b/src/object/auto/autorepair.cpp
@@ -90,7 +90,7 @@ void CAutoRepair::Init()
bool CAutoRepair::EventProcess(const Event &event)
{
CObject* vehicule;
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim;
float angle, shield;
@@ -247,7 +247,7 @@ CObject* CAutoRepair::SearchVehicle()
{
CObject* pObj;
CPhysics* physics;
- D3DVECTOR sPos, oPos;
+ Math::Vector sPos, oPos;
ObjectType type;
float dist;
int i;
@@ -292,7 +292,7 @@ CObject* CAutoRepair::SearchVehicle()
if ( physics != 0 && !physics->RetLand() ) continue; // in flight?
oPos = pObj->RetPosition(0);
- dist = Length(oPos, sPos);
+ dist = Math::Distance(oPos, sPos);
if ( dist <= 5.0f ) return pObj;
}
diff --git a/src/object/auto/autoresearch.cpp b/src/object/auto/autoresearch.cpp
index f1602cf..07c64c1 100644
--- a/src/object/auto/autoresearch.cpp
+++ b/src/object/auto/autoresearch.cpp
@@ -20,6 +20,7 @@
#include <d3d.h>
#include "math/const.h"
+#include "math/geometry.h"
#include "common/struct.h"
#include "graphics/d3d/d3dengine.h"
#include "math/old/d3dmath.h"
@@ -108,7 +109,7 @@ void CAutoResearch::Init()
bool CAutoResearch::EventProcess(const Event &event)
{
CObject* power;
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Error message;
Math::Point dim;
float angle, time;
@@ -512,8 +513,8 @@ void CAutoResearch::SetResearch(EventMsg event)
void CAutoResearch::FireStopUpdate(float progress, bool bLightOn)
{
- D3DMATRIX* mat;
- D3DVECTOR pos, speed;
+ Math::Matrix* mat;
+ Math::Vector pos, speed;
Math::Point dim;
int i;
@@ -542,7 +543,7 @@ void CAutoResearch::FireStopUpdate(float progress, bool bLightOn)
mat = m_object->RetWorldMatrix(0);
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 2.0f;
dim.y = dim.x;
@@ -563,7 +564,7 @@ void CAutoResearch::FireStopUpdate(float progress, bool bLightOn)
pos.x = listpos[i*2+0];
pos.y = 11.5f;
pos.z = listpos[i*2+1];
- pos = Transform(*mat, pos);
+ pos = Math::Transform(*mat, pos);
m_partiStop[i] = m_particule->CreateParticule(pos, speed,
dim, PARTISELY,
1.0f, 0.0f, 0.0f);
diff --git a/src/object/auto/autoroot.cpp b/src/object/auto/autoroot.cpp
index 8b16615..df7f0cb 100644
--- a/src/object/auto/autoroot.cpp
+++ b/src/object/auto/autoroot.cpp
@@ -20,6 +20,7 @@
#include <d3d.h>
#include "common/struct.h"
+#include "math/geometry.h"
#include "graphics/d3d/d3dengine.h"
#include "math/old/d3dmath.h"
#include "common/event.h"
@@ -63,19 +64,19 @@ void CAutoRoot::DeleteObject(bool bAll)
void CAutoRoot::Init()
{
- D3DMATRIX* mat;
- D3DVECTOR pos, speed;
+ Math::Matrix* mat;
+ Math::Vector pos, speed;
Math::Point dim;
m_time = 0.0f;
m_lastParticule = 0.0f;
mat = m_object->RetWorldMatrix(0);
- pos = D3DVECTOR(-5.0f, 28.0f, -4.0f); // peak position
- pos = Transform(*mat, pos);
+ pos = Math::Vector(-5.0f, 28.0f, -4.0f); // peak position
+ pos = Math::Transform(*mat, pos);
m_center = pos;
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 100.0f;
dim.y = dim.x;
m_particule->CreateParticule(m_center, speed, dim, PARTISPHERE5, 0.5f, 0.0f, 0.0f);
@@ -88,7 +89,7 @@ void CAutoRoot::Init()
bool CAutoRoot::EventProcess(const Event &event)
{
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim;
CAuto::EventProcess(event);
diff --git a/src/object/auto/autoroot.h b/src/object/auto/autoroot.h
index 0be9b24..8e2a279 100644
--- a/src/object/auto/autoroot.h
+++ b/src/object/auto/autoroot.h
@@ -48,6 +48,6 @@ protected:
protected:
float m_lastParticule;
- D3DVECTOR m_center;
+ Math::Vector m_center;
};
diff --git a/src/object/auto/autosafe.cpp b/src/object/auto/autosafe.cpp
index 6cdccf5..97434f9 100644
--- a/src/object/auto/autosafe.cpp
+++ b/src/object/auto/autosafe.cpp
@@ -125,7 +125,7 @@ void CAutoSafe::Init()
bool CAutoSafe::EventProcess(const Event &event)
{
CObject* pObj;
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim;
int i, count;
@@ -256,7 +256,7 @@ bool CAutoSafe::EventProcess(const Event &event)
}
m_object->FlushCrashShere();
- m_object->SetGlobalSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 0.0f);
+ m_object->SetGlobalSphere(Math::Vector(0.0f, 0.0f, 0.0f), 0.0f);
m_sound->Play(SOUND_FINDING, m_object->RetPosition(0));
@@ -294,7 +294,7 @@ bool CAutoSafe::EventProcess(const Event &event)
}
// Blinks the keys.
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 2.0f;
dim.y = dim.x;
for ( i=0 ; i<4 ; i++ )
@@ -412,7 +412,7 @@ bool CAutoSafe::Read(char *line)
int CAutoSafe::CountKeys()
{
CObject* pObj;
- D3DVECTOR cPos, oPos;
+ Math::Vector cPos, oPos;
Math::Point rot;
ObjectType oType;
float dist, angle, limit, cAngle, oAngle;
@@ -441,7 +441,7 @@ int CAutoSafe::CountKeys()
oType != OBJECT_KEYd ) continue;
oPos = pObj->RetPosition(0);
- dist = Length2d(oPos, cPos);
+ dist = Math::DistanceProjected(oPos, cPos);
if ( dist > 20.0f ) continue;
if ( oType == OBJECT_KEYa )
@@ -497,7 +497,7 @@ int CAutoSafe::CountKeys()
void CAutoSafe::LockKeys()
{
CObject* pObj;
- D3DVECTOR cPos, oPos;
+ Math::Vector cPos, oPos;
ObjectType oType;
float dist;
int i;
@@ -518,7 +518,7 @@ void CAutoSafe::LockKeys()
oType != OBJECT_KEYd ) continue;
oPos = pObj->RetPosition(0);
- dist = Length2d(oPos, cPos);
+ dist = Math::DistanceProjected(oPos, cPos);
if ( dist > 20.0f ) continue;
pObj->SetLock(true);
@@ -530,7 +530,7 @@ void CAutoSafe::LockKeys()
void CAutoSafe::DownKeys(float progress)
{
CObject* pObj;
- D3DVECTOR cPos, oPos;
+ Math::Vector cPos, oPos;
ObjectType oType;
float dist;
int i;
@@ -551,7 +551,7 @@ void CAutoSafe::DownKeys(float progress)
oType != OBJECT_KEYd ) continue;
oPos = pObj->RetPosition(0);
- dist = Length2d(oPos, cPos);
+ dist = Math::DistanceProjected(oPos, cPos);
if ( dist > 20.0f ) continue;
oPos.y = cPos.y+1.0f-progress*2.2f;
@@ -564,7 +564,7 @@ void CAutoSafe::DownKeys(float progress)
void CAutoSafe::DeleteKeys()
{
CObject* pObj;
- D3DVECTOR cPos, oPos;
+ Math::Vector cPos, oPos;
ObjectType oType;
float dist;
int i;
@@ -589,7 +589,7 @@ void CAutoSafe::DeleteKeys()
oType != OBJECT_KEYd ) continue;
oPos = pObj->RetPosition(0);
- dist = Length2d(oPos, cPos);
+ dist = Math::DistanceProjected(oPos, cPos);
if ( dist > 20.0f ) continue;
pObj->DeleteObject();
@@ -605,7 +605,7 @@ void CAutoSafe::DeleteKeys()
CObject* CAutoSafe::SearchVehicle()
{
CObject* pObj;
- D3DVECTOR cPos, oPos;
+ Math::Vector cPos, oPos;
ObjectType oType;
float dist;
int i;
@@ -622,7 +622,7 @@ CObject* CAutoSafe::SearchVehicle()
if ( pObj->RetTruck() != 0 ) continue;
oPos = pObj->RetPosition(0);
- dist = Length2d(oPos, cPos);
+ dist = Math::DistanceProjected(oPos, cPos);
if ( dist <= 4.0f ) return pObj;
}
return 0;
diff --git a/src/object/auto/autosafe.h b/src/object/auto/autosafe.h
index 2e43359..083f06b 100644
--- a/src/object/auto/autosafe.h
+++ b/src/object/auto/autosafe.h
@@ -77,7 +77,7 @@ protected:
float m_actualAngle;
float m_finalAngle;
bool m_bKey[4];
- D3DVECTOR m_keyPos[4];
+ Math::Vector m_keyPos[4];
int m_keyParti[4];
};
diff --git a/src/object/auto/autostation.cpp b/src/object/auto/autostation.cpp
index cc93545..9ec48d5 100644
--- a/src/object/auto/autostation.cpp
+++ b/src/object/auto/autostation.cpp
@@ -20,6 +20,7 @@
#include <d3d.h>
#include "common/struct.h"
+#include "math/geometry.h"
#include "graphics/d3d/d3dengine.h"
#include "math/old/d3dmath.h"
#include "common/event.h"
@@ -90,8 +91,8 @@ void CAutoStation::Init()
bool CAutoStation::EventProcess(const Event &event)
{
- D3DMATRIX* mat;
- D3DVECTOR pos, ppos, speed;
+ Math::Matrix* mat;
+ Math::Vector pos, ppos, speed;
Math::Point dim;
CObject* vehicule;
CObject* power;
@@ -201,8 +202,8 @@ bool CAutoStation::EventProcess(const Event &event)
m_lastParticule = m_time;
mat = m_object->RetWorldMatrix(0);
- pos = D3DVECTOR(-15.0f, 7.0f, 0.0f); // battery position
- pos = Transform(*mat, pos);
+ pos = Math::Vector(-15.0f, 7.0f, 0.0f); // battery position
+ pos = Math::Transform(*mat, pos);
speed.x = (Math::Rand()-0.5f)*20.0f;
speed.y = (Math::Rand()-0.5f)*20.0f;
speed.z = (Math::Rand()-0.5f)*20.0f;
@@ -251,7 +252,7 @@ bool CAutoStation::EventProcess(const Event &event)
CObject* CAutoStation::SearchVehicle()
{
CObject* pObj;
- D3DVECTOR sPos, oPos;
+ Math::Vector sPos, oPos;
ObjectType type;
float dist;
int i;
@@ -293,7 +294,7 @@ CObject* CAutoStation::SearchVehicle()
type != OBJECT_MOBILEdr ) continue;
oPos = pObj->RetPosition(0);
- dist = Length(oPos, sPos);
+ dist = Math::Distance(oPos, sPos);
if ( dist <= 5.0f ) return pObj;
}
diff --git a/src/object/auto/autostation.h b/src/object/auto/autostation.h
index 04f6b46..f2b50a8 100644
--- a/src/object/auto/autostation.h
+++ b/src/object/auto/autostation.h
@@ -58,7 +58,7 @@ protected:
float m_lastUpdateTime;
float m_lastParticule;
int m_soundChannel;
- D3DVECTOR m_fretPos;
+ Math::Vector m_fretPos;
bool m_bLastVirus;
float m_energyVirus;
};
diff --git a/src/object/auto/autotower.cpp b/src/object/auto/autotower.cpp
index a76260e..227a1e9 100644
--- a/src/object/auto/autotower.cpp
+++ b/src/object/auto/autotower.cpp
@@ -105,7 +105,7 @@ bool CAutoTower::EventProcess(const Event &event)
{
CObject* power;
CObject* target;
- D3DVECTOR pos;
+ Math::Vector pos;
float angle, energy, quick;
CAuto::EventProcess(event);
@@ -209,7 +209,7 @@ bool CAutoTower::EventProcess(const Event &event)
m_angleYactual = Math::NormAngle(m_object->RetAngleY(1));
m_angleZfinal = -Math::PI/2.0f;
- m_angleZfinal -= Math::RotateAngle(Length2d(m_targetPos, pos), pos.y-m_targetPos.y); // CW !
+ m_angleZfinal -= Math::RotateAngle(Math::DistanceProjected(m_targetPos, pos), pos.y-m_targetPos.y); // CW !
m_angleZactual = m_object->RetAngleZ(2);
m_phase = ATP_TURN;
@@ -274,12 +274,12 @@ bool CAutoTower::EventProcess(const Event &event)
// Seeks the nearest target object.
-CObject* CAutoTower::SearchTarget(D3DVECTOR &impact)
+CObject* CAutoTower::SearchTarget(Math::Vector &impact)
{
CObject* pObj;
CObject* pBest = 0;
CPhysics* physics;
- D3DVECTOR iPos, oPos;
+ Math::Vector iPos, oPos;
ObjectType oType;
float distance, min, radius, speed;
int i;
@@ -313,7 +313,7 @@ CObject* CAutoTower::SearchTarget(D3DVECTOR &impact)
}
if ( !pObj->GetCrashSphere(0, oPos, radius) ) continue;
- distance = Length(oPos, iPos);
+ distance = Math::Distance(oPos, iPos);
if ( distance > TOWER_SCOPE ) continue; // too far
if ( distance < min )
{
@@ -359,8 +359,8 @@ Error CAutoTower::RetError()
void CAutoTower::FireStopUpdate(float progress, bool bLightOn)
{
- D3DMATRIX* mat;
- D3DVECTOR pos, speed;
+ Math::Matrix* mat;
+ Math::Vector pos, speed;
Math::Point dim;
int i;
@@ -387,7 +387,7 @@ void CAutoTower::FireStopUpdate(float progress, bool bLightOn)
mat = m_object->RetWorldMatrix(0);
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 2.0f;
dim.y = dim.x;
diff --git a/src/object/auto/autotower.h b/src/object/auto/autotower.h
index cf4fc3b..57b941d 100644
--- a/src/object/auto/autotower.h
+++ b/src/object/auto/autotower.h
@@ -63,7 +63,7 @@ public:
protected:
void UpdateInterface(float rTime);
- CObject* SearchTarget(D3DVECTOR &impact);
+ CObject* SearchTarget(Math::Vector &impact);
void FireStopUpdate(float progress, bool bLightOn);
protected:
@@ -73,7 +73,7 @@ protected:
float m_timeVirus;
float m_lastUpdateTime;
float m_lastParticule;
- D3DVECTOR m_targetPos;
+ Math::Vector m_targetPos;
float m_angleYactual;
float m_angleZactual;
float m_angleYfinal;
diff --git a/src/object/brain.cpp b/src/object/brain.cpp
index 964ab70..c692b88 100644
--- a/src/object/brain.cpp
+++ b/src/object/brain.cpp
@@ -21,6 +21,7 @@
#include "CBot/CBotDll.h"
#include "common/struct.h"
+#include "math/geometry.h"
#include "math/const.h"
#include "graphics/d3d/d3dengine.h"
#include "math/old/d3dmath.h"
@@ -717,7 +718,7 @@ bool CBrain::EventProcess(const Event &event)
#if 0
if ( event.param == 'T' )
{
- D3DVECTOR p1, p2;
+ Math::Vector p1, p2;
float h;
p1 = m_object->RetPosition(0);
h = m_terrain->RetFloorLevel(p1);
@@ -730,7 +731,7 @@ bool CBrain::EventProcess(const Event &event)
}
if ( event.param == 'R' )
{
- D3DVECTOR p1, p2;
+ Math::Vector p1, p2;
float h;
p1 = m_object->RetPosition(0);
h = m_terrain->RetFloorLevel(p1);
@@ -1097,7 +1098,7 @@ Error CBrain::StartTaskFire(float delay)
// Shoots to the ant.
-Error CBrain::StartTaskFireAnt(D3DVECTOR impact)
+Error CBrain::StartTaskFireAnt(Math::Vector impact)
{
Error err;
@@ -1133,7 +1134,7 @@ Error CBrain::StartTaskGunGoal(float dirV, float dirH)
// Reset.
-Error CBrain::StartTaskReset(D3DVECTOR goal, D3DVECTOR angle)
+Error CBrain::StartTaskReset(Math::Vector goal, Math::Vector angle)
{
Error err;
@@ -1186,7 +1187,7 @@ Error CBrain::EndedTask()
void CBrain::GroundFlat()
{
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim;
Error err;
float level;
@@ -1206,7 +1207,7 @@ void CBrain::GroundFlat()
level = m_terrain->RetFloorLevel(pos)+2.0f;
if ( pos.y < level ) pos.y = level; // not below the soil
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 40.0f;
dim.y = dim.x;
m_particule->CreateParticule(pos, speed, dim, PARTIGFLAT, 1.0f);
@@ -1935,7 +1936,7 @@ void CBrain::UpdateInterface(float rTime)
CGroup* pgr;
CTarget* ptg;
CObject* power;
- D3DVECTOR pos, hPos;
+ Math::Vector pos, hPos;
Math::Point ppos;
float energy, limit, angle, range;
int icon;
@@ -2829,7 +2830,7 @@ void CBrain::TraceRecordStart()
void CBrain::TraceRecordFrame()
{
TraceOper oper = TO_STOP;
- D3DVECTOR pos;
+ Math::Vector pos;
float angle, len, speed;
int color;
@@ -2856,7 +2857,7 @@ void CBrain::TraceRecordFrame()
m_traceOper == TO_RECEDE )
{
pos = m_object->RetPosition(0);
- len = Length2d(pos, m_tracePos);
+ len = Math::DistanceProjected(pos, m_tracePos);
TraceRecordOper(m_traceOper, len);
}
if ( m_traceOper == TO_TURN )
diff --git a/src/object/brain.h b/src/object/brain.h
index c54f0f7..895675e 100644
--- a/src/object/brain.h
+++ b/src/object/brain.h
@@ -123,9 +123,9 @@ public:
Error StartTaskRecover();
Error StartTaskShield(TaskShieldMode mode);
Error StartTaskFire(float delay);
- Error StartTaskFireAnt(D3DVECTOR impact);
+ Error StartTaskFireAnt(Math::Vector impact);
Error StartTaskGunGoal(float dirV, float dirH);
- Error StartTaskReset(D3DVECTOR goal, D3DVECTOR angle);
+ Error StartTaskReset(Math::Vector goal, Math::Vector angle);
void UpdateInterface(float rTime);
void UpdateInterface();
@@ -193,7 +193,7 @@ protected:
CObject* m_antTarget;
CObject* m_beeBullet;
float m_beeBulletSpeed;
- D3DVECTOR m_startPos;
+ Math::Vector m_startPos;
float m_time;
float m_burnTime;
float m_lastUpdateTime;
@@ -207,7 +207,7 @@ protected:
bool m_bTraceRecord;
TraceOper m_traceOper;
- D3DVECTOR m_tracePos;
+ Math::Vector m_tracePos;
float m_traceAngle;
int m_traceColor;
int m_traceRecordIndex;
diff --git a/src/object/mainmovie.cpp b/src/object/mainmovie.cpp
new file mode 100644
index 0000000..8393d5a
--- /dev/null
+++ b/src/object/mainmovie.cpp
@@ -0,0 +1,248 @@
+// * This file is part of the COLOBOT source code
+// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
+// *
+// * This program is free software: you can redistribute it and/or modify
+// * it under the terms of the GNU General Public License as published by
+// * the Free Software Foundation, either version 3 of the License, or
+// * (at your option) any later version.
+// *
+// * This program is distributed in the hope that it will be useful,
+// * but WITHOUT ANY WARRANTY; without even the implied warranty of
+// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// * GNU General Public License for more details.
+// *
+// * You should have received a copy of the GNU General Public License
+// * along with this program. If not, see http://www.gnu.org/licenses/.
+
+// mainmovie.cpp
+
+
+#include <windows.h>
+#include <stdio.h>
+#include <d3d.h>
+
+#include "common/struct.h"
+#include "math/geometry.h"
+#include "graphics/d3d/d3dengine.h"
+#include "common/global.h"
+#include "common/event.h"
+#include "common/iman.h"
+#include "math/old/math3d.h"
+#include "graphics/common/camera.h"
+#include "object/object.h"
+#include "object/motion/motion.h"
+#include "object/motion/motionhuman.h"
+#include "ui/interface.h"
+#include "object/robotmain.h"
+#include "sound/sound.h"
+#include "object/mainmovie.h"
+
+
+
+
+// Constructor of the application card.
+
+CMainMovie::CMainMovie(CInstanceManager* iMan)
+{
+ m_iMan = iMan;
+ m_iMan->AddInstance(CLASS_SHORT, this);
+
+ m_interface = (CInterface*)m_iMan->SearchInstance(CLASS_INTERFACE);
+ m_event = (CEvent*)m_iMan->SearchInstance(CLASS_EVENT);
+ m_engine = (CD3DEngine*)m_iMan->SearchInstance(CLASS_ENGINE);
+ m_main = (CRobotMain*)m_iMan->SearchInstance(CLASS_MAIN);
+ m_camera = (CCamera*)m_iMan->SearchInstance(CLASS_CAMERA);
+ m_sound = (CSound*)m_iMan->SearchInstance(CLASS_SOUND);
+
+ Flush();
+}
+
+// Destructor of the application card.
+
+CMainMovie::~CMainMovie()
+{
+}
+
+
+// Stops the current movie.
+
+void CMainMovie::Flush()
+{
+ m_type = MM_NONE;
+}
+
+
+// Start of a film.
+
+bool CMainMovie::Start(MainMovieType type, float time)
+{
+ Math::Matrix* mat;
+ Math::Vector pos;
+ CObject* pObj;
+ CMotion* motion;
+
+ m_type = type;
+ m_speed = 1.0f/time;
+ m_progress = 0.0f;
+
+ if ( m_type == MM_SATCOMopen )
+ {
+ pObj = m_main->SearchHuman();
+ if ( pObj == 0 )
+ {
+ m_type = MM_NONE; // it's over!
+ return true;
+ }
+
+ motion = pObj->RetMotion();
+ if ( motion != 0 )
+ {
+ motion->SetAction(MHS_SATCOM, 0.5f); // reads the SatCom
+ }
+
+ m_camera->RetCamera(m_initialEye, m_initialLookat);
+ m_camera->SetType(CAMERA_SCRIPT);
+ m_camera->SetSmooth(CS_HARD);
+ m_camera->SetScriptEye(m_initialEye);
+ m_camera->SetScriptLookat(m_initialLookat);
+ m_camera->FixCamera();
+
+ mat = pObj->RetWorldMatrix(0);
+ m_finalLookat[0] = Math::Transform(*mat, Math::Vector( 1.6f, 1.0f, 1.2f));
+ m_finalEye[0] = Math::Transform(*mat, Math::Vector(-1.5f, 5.0f, 3.0f));
+ m_finalLookat[1] = Math::Transform(*mat, Math::Vector( 1.6f, 1.0f, 1.2f));
+ m_finalEye[1] = Math::Transform(*mat, Math::Vector( 0.8f, 3.0f, 0.8f));
+ }
+
+ if ( m_type == MM_SATCOMclose )
+ {
+ pObj = m_main->SearchHuman();
+ if ( pObj != 0 )
+ {
+ motion = pObj->RetMotion();
+ if ( motion != 0 )
+ {
+ motion->SetAction(-1); // finishes reading SatCom
+ }
+ }
+
+ m_camera->SetType(CAMERA_BACK);
+ m_type = MM_NONE; // it's already over!
+ }
+
+ return true;
+}
+
+// Stop a current movie.
+
+bool CMainMovie::Stop()
+{
+ CObject* pObj;
+ CMotion* motion;
+
+ if ( m_type == MM_SATCOMopen )
+ {
+ pObj = m_main->SearchHuman();
+ if ( pObj != 0 )
+ {
+ motion = pObj->RetMotion();
+ if ( motion != 0 )
+ {
+ motion->SetAction(-1); // finishes reading SatCom
+ }
+ }
+ }
+
+ m_type = MM_NONE;
+ return true;
+}
+
+// Indicates whether a film is in progress.
+
+bool CMainMovie::IsExist()
+{
+ return (m_type != MM_NONE);
+}
+
+
+// Processing an event.
+
+bool CMainMovie::EventProcess(const Event &event)
+{
+ Math::Vector initialEye, initialLookat, finalEye, finalLookat, eye, lookat;
+ float progress;
+
+ if ( m_type == MM_NONE ) return true;
+
+ m_progress += event.rTime*m_speed;
+
+ if ( m_type == MM_SATCOMopen )
+ {
+ if ( m_progress < 1.0f )
+ {
+ progress = 1.0f-powf(1.0f-m_progress, 3.0f);
+
+ if ( progress < 0.6f )
+ {
+ progress = progress/0.6f;
+ initialEye = m_initialEye;
+ initialLookat = m_initialLookat;
+ finalEye = m_finalEye[0];
+ finalLookat = m_finalLookat[0];
+ }
+ else
+ {
+ progress = (progress-0.6f)/0.3f;
+ initialEye = m_finalEye[0];
+ initialLookat = m_finalLookat[0];
+ finalEye = m_finalEye[1];
+ finalLookat = m_finalLookat[1];
+ }
+ if ( progress > 1.0f ) progress = 1.0f;
+
+ eye = (finalEye-initialEye)*progress+initialEye;
+ lookat = (finalLookat-initialLookat)*progress+initialLookat;
+ m_camera->SetScriptEye(eye);
+ m_camera->SetScriptLookat(lookat);
+// m_camera->FixCamera();
+ }
+ else
+ {
+ m_stopType = m_type;
+ Flush();
+ return false;
+ }
+ }
+
+ if ( m_type == MM_SATCOMclose )
+ {
+ if ( m_progress < 1.0f )
+ {
+ }
+ else
+ {
+ m_stopType = m_type;
+ Flush();
+ return false;
+ }
+ }
+
+ return true;
+}
+
+
+// Returns the type of the current movie.
+
+MainMovieType CMainMovie::RetType()
+{
+ return m_type;
+}
+
+// Returns the type of movie stop.
+
+MainMovieType CMainMovie::RetStopType()
+{
+ return m_stopType;
+}
+
+
diff --git a/src/object/mainmovie.h b/src/object/mainmovie.h
new file mode 100644
index 0000000..d7ac4ab
--- /dev/null
+++ b/src/object/mainmovie.h
@@ -0,0 +1,80 @@
+// * This file is part of the COLOBOT source code
+// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
+// *
+// * This program is free software: you can redistribute it and/or modify
+// * it under the terms of the GNU General Public License as published by
+// * the Free Software Foundation, either version 3 of the License, or
+// * (at your option) any later version.
+// *
+// * This program is distributed in the hope that it will be useful,
+// * but WITHOUT ANY WARRANTY; without even the implied warranty of
+// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// * GNU General Public License for more details.
+// *
+// * You should have received a copy of the GNU General Public License
+// * along with this program. If not, see http://www.gnu.org/licenses/.
+
+// mainmovie.h
+
+#pragma once
+
+
+#include "common/event.h"
+#include "graphics/d3d/d3dengine.h"
+
+class CInstanceManager;
+class CEvent;
+class CD3DEngine;
+class CInterface;
+class CRobotMain;
+class CCamera;
+class CSound;
+class CObject;
+
+
+
+
+enum MainMovieType
+{
+ MM_NONE,
+ MM_SATCOMopen,
+ MM_SATCOMclose,
+};
+
+
+
+class CMainMovie
+{
+public:
+ CMainMovie(CInstanceManager* iMan);
+ ~CMainMovie();
+
+ void Flush();
+ bool Start(MainMovieType type, float time);
+ bool Stop();
+ bool IsExist();
+ bool EventProcess(const Event &event);
+ MainMovieType RetType();
+ MainMovieType RetStopType();
+
+protected:
+
+protected:
+ CInstanceManager* m_iMan;
+ CEvent* m_event;
+ CD3DEngine* m_engine;
+ CInterface* m_interface;
+ CRobotMain* m_main;
+ CCamera* m_camera;
+ CSound* m_sound;
+
+ MainMovieType m_type;
+ MainMovieType m_stopType;
+ float m_speed;
+ float m_progress;
+ Math::Vector m_initialEye;
+ Math::Vector m_initialLookat;
+ Math::Vector m_finalEye[2];
+ Math::Vector m_finalLookat[2];
+};
+
diff --git a/src/object/motion/motion.cpp b/src/object/motion/motion.cpp
index 255feb7..f769dae 100644
--- a/src/object/motion/motion.cpp
+++ b/src/object/motion/motion.cpp
@@ -69,9 +69,9 @@ CMotion::CMotion(CInstanceManager* iMan, CObject* object)
m_actionTime = 0.0f;
m_progress = 0.0f;
- m_linVibration = D3DVECTOR(0.0f, 0.0f, 0.0f);
- m_cirVibration = D3DVECTOR(0.0f, 0.0f, 0.0f);
- m_inclinaison = D3DVECTOR(0.0f, 0.0f, 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);
}
// Object's destructor.
@@ -101,7 +101,7 @@ void CMotion::SetBrain(CBrain* brain)
// Creates.
-bool CMotion::Create(D3DVECTOR pos, float angle, ObjectType type, float power)
+bool CMotion::Create(Math::Vector pos, float angle, ObjectType type, float power)
{
return true;
}
@@ -110,7 +110,7 @@ bool CMotion::Create(D3DVECTOR pos, float angle, ObjectType type, float power)
bool CMotion::EventProcess(const Event &event)
{
- D3DVECTOR pos, dir;
+ Math::Vector pos, dir;
float time;
if ( m_object->RetType() != OBJECT_TOTO &&
@@ -221,36 +221,36 @@ bool CMotion::Read(char *line)
// Gives the linear vibration.
-void CMotion::SetLinVibration(D3DVECTOR dir)
+void CMotion::SetLinVibration(Math::Vector dir)
{
m_linVibration = dir;
}
-D3DVECTOR CMotion::RetLinVibration()
+Math::Vector CMotion::RetLinVibration()
{
return m_linVibration;
}
// Gives the circular vibration.
-void CMotion::SetCirVibration(D3DVECTOR dir)
+void CMotion::SetCirVibration(Math::Vector dir)
{
m_cirVibration = dir;
}
-D3DVECTOR CMotion::RetCirVibration()
+Math::Vector CMotion::RetCirVibration()
{
return m_cirVibration;
}
// Gives the tilt.
-void CMotion::SetInclinaison(D3DVECTOR dir)
+void CMotion::SetInclinaison(Math::Vector dir)
{
m_inclinaison = dir;
}
-D3DVECTOR CMotion::RetInclinaison()
+Math::Vector CMotion::RetInclinaison()
{
return m_inclinaison;
}
diff --git a/src/object/motion/motion.h b/src/object/motion/motion.h
index 1c3ab6c..ca2ef79 100644
--- a/src/object/motion/motion.h
+++ b/src/object/motion/motion.h
@@ -49,7 +49,7 @@ public:
void SetBrain(CBrain* brain);
virtual void DeleteObject(bool bAll=false);
- virtual bool Create(D3DVECTOR pos, float angle, ObjectType type, float power);
+ virtual bool Create(Math::Vector pos, float angle, ObjectType type, float power);
virtual bool EventProcess(const Event &event);
virtual Error SetAction(int action, float time=0.2f);
virtual int RetAction();
@@ -60,12 +60,12 @@ public:
virtual bool Write(char *line);
virtual bool Read(char *line);
- virtual void SetLinVibration(D3DVECTOR dir);
- virtual D3DVECTOR RetLinVibration();
- virtual void SetCirVibration(D3DVECTOR dir);
- virtual D3DVECTOR RetCirVibration();
- virtual void SetInclinaison(D3DVECTOR dir);
- virtual D3DVECTOR RetInclinaison();
+ virtual void SetLinVibration(Math::Vector dir);
+ virtual Math::Vector RetLinVibration();
+ virtual void SetCirVibration(Math::Vector dir);
+ virtual Math::Vector RetCirVibration();
+ virtual void SetInclinaison(Math::Vector dir);
+ virtual Math::Vector RetInclinaison();
protected:
@@ -87,8 +87,8 @@ protected:
float m_actionTime;
float m_progress;
- D3DVECTOR m_linVibration; // linear vibration
- D3DVECTOR m_cirVibration; // circular vibration
- D3DVECTOR m_inclinaison; // tilt
+ Math::Vector m_linVibration; // linear vibration
+ Math::Vector m_cirVibration; // circular vibration
+ Math::Vector m_inclinaison; // tilt
};
diff --git a/src/object/motion/motionant.cpp b/src/object/motion/motionant.cpp
index 62a58dc..bdfe773 100644
--- a/src/object/motion/motionant.cpp
+++ b/src/object/motion/motionant.cpp
@@ -80,7 +80,7 @@ void CMotionAnt::DeleteObject(bool bAll)
// Creates a vehicle poses some rolling on the floor.
-bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
+bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
float power)
{
CModFile* pModFile;
@@ -105,8 +105,8 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
// A vehicle must have necessarily a collision
//with a sphere of center (0, y, 0) (see GetCrashSphere).
- m_object->CreateCrashSphere(D3DVECTOR(0.0f, -2.0f, 0.0f), 4.0f, SOUND_BOUM, 0.20f);
- m_object->SetGlobalSphere(D3DVECTOR(-0.5f, 1.0f, 0.0f), 4.0f);
+ m_object->CreateCrashSphere(Math::Vector(0.0f, -2.0f, 0.0f), 4.0f, SOUND_BOUM, 0.20f);
+ m_object->SetGlobalSphere(Math::Vector(-0.5f, 1.0f, 0.0f), 4.0f);
// Creates the head.
rank = m_engine->CreateObject();
@@ -115,7 +115,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(1, 0);
pModFile->ReadModel("objects\\ant2.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(1, D3DVECTOR(2.0f, 0.0f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(2.0f, 0.0f, 0.0f));
// Creates the tail.
rank = m_engine->CreateObject();
@@ -124,7 +124,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(2, 0);
pModFile->ReadModel("objects\\ant3.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(2, D3DVECTOR(-1.0f, 0.0f, 0.0f));
+ m_object->SetPosition(2, Math::Vector(-1.0f, 0.0f, 0.0f));
// Creates a right-back thigh.
rank = m_engine->CreateObject();
@@ -133,7 +133,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(3, 0);
pModFile->ReadModel("objects\\ant4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(3, D3DVECTOR(-0.4f, -0.1f, -0.3f));
+ m_object->SetPosition(3, Math::Vector(-0.4f, -0.1f, -0.3f));
// Creates a right-back leg.
rank = m_engine->CreateObject();
@@ -142,7 +142,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(4, 3);
pModFile->ReadModel("objects\\ant5.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(4, D3DVECTOR(0.0f, 0.0f, -1.0f));
+ m_object->SetPosition(4, Math::Vector(0.0f, 0.0f, -1.0f));
// Creates a right-back foot.
rank = m_engine->CreateObject();
@@ -151,7 +151,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(5, 4);
pModFile->ReadModel("objects\\ant6.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(5, D3DVECTOR(0.0f, 0.0f, -2.0f));
+ m_object->SetPosition(5, Math::Vector(0.0f, 0.0f, -2.0f));
// Creates two middle-right thighs.
rank = m_engine->CreateObject();
@@ -160,7 +160,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(6, 0);
pModFile->ReadModel("objects\\ant4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(6, D3DVECTOR(0.1f, -0.1f, -0.4f));
+ m_object->SetPosition(6, Math::Vector(0.1f, -0.1f, -0.4f));
// Creates two middle-right legs.
rank = m_engine->CreateObject();
@@ -169,7 +169,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(7, 6);
pModFile->ReadModel("objects\\ant5.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(7, D3DVECTOR(0.0f, 0.0f, -1.0f));
+ m_object->SetPosition(7, Math::Vector(0.0f, 0.0f, -1.0f));
// Creates two middle-right foots.
rank = m_engine->CreateObject();
@@ -178,7 +178,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(8, 7);
pModFile->ReadModel("objects\\ant6.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(8, D3DVECTOR(0.0f, 0.0f, -2.0f));
+ m_object->SetPosition(8, Math::Vector(0.0f, 0.0f, -2.0f));
// Creates the right front thigh.
rank = m_engine->CreateObject();
@@ -187,7 +187,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(9, 0);
pModFile->ReadModel("objects\\ant4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(9, D3DVECTOR(1.4f, -0.1f, -0.6f));
+ m_object->SetPosition(9, Math::Vector(1.4f, -0.1f, -0.6f));
// Creates the right front leg.
rank = m_engine->CreateObject();
@@ -196,7 +196,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(10, 9);
pModFile->ReadModel("objects\\ant5.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(10, D3DVECTOR(0.0f, 0.0f, -1.0f));
+ m_object->SetPosition(10, Math::Vector(0.0f, 0.0f, -1.0f));
// Creates the right front foot.
rank = m_engine->CreateObject();
@@ -205,7 +205,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(11, 10);
pModFile->ReadModel("objects\\ant6.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(11, D3DVECTOR(0.0f, 0.0f, -2.0f));
+ m_object->SetPosition(11, Math::Vector(0.0f, 0.0f, -2.0f));
// Creates a left-back thigh.
rank = m_engine->CreateObject();
@@ -215,7 +215,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\ant4.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(12, D3DVECTOR(-0.4f, -0.1f, 0.3f));
+ m_object->SetPosition(12, Math::Vector(-0.4f, -0.1f, 0.3f));
// Creates a left-back leg.
rank = m_engine->CreateObject();
@@ -225,7 +225,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\ant5.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(13, D3DVECTOR(0.0f, 0.0f, 1.0f));
+ m_object->SetPosition(13, Math::Vector(0.0f, 0.0f, 1.0f));
// Creates a left-back foot.
rank = m_engine->CreateObject();
@@ -235,7 +235,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\ant6.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(14, D3DVECTOR(0.0f, 0.0f, 2.0f));
+ m_object->SetPosition(14, Math::Vector(0.0f, 0.0f, 2.0f));
// Creates two middle-left thighs.
rank = m_engine->CreateObject();
@@ -245,7 +245,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\ant4.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(15, D3DVECTOR(0.1f, -0.1f, 0.4f));
+ m_object->SetPosition(15, Math::Vector(0.1f, -0.1f, 0.4f));
// Creates two middle-left legs.
rank = m_engine->CreateObject();
@@ -255,7 +255,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\ant5.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(16, D3DVECTOR(0.0f, 0.0f, 1.0f));
+ m_object->SetPosition(16, Math::Vector(0.0f, 0.0f, 1.0f));
// Creates two middle-left foot.
rank = m_engine->CreateObject();
@@ -265,7 +265,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\ant6.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(17, D3DVECTOR(0.0f, 0.0f, 2.0f));
+ m_object->SetPosition(17, Math::Vector(0.0f, 0.0f, 2.0f));
// Creates the left front thigh.
rank = m_engine->CreateObject();
@@ -275,7 +275,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\ant4.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(18, D3DVECTOR(1.4f, -0.1f, 0.6f));
+ m_object->SetPosition(18, Math::Vector(1.4f, -0.1f, 0.6f));
// Creates the left front leg.
rank = m_engine->CreateObject();
@@ -285,7 +285,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\ant5.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(19, D3DVECTOR(0.0f, 0.0f, 1.0f));
+ m_object->SetPosition(19, Math::Vector(0.0f, 0.0f, 1.0f));
// Creates the left front foot.
rank = m_engine->CreateObject();
@@ -295,7 +295,7 @@ bool CMotionAnt::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\ant6.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(20, D3DVECTOR(0.0f, 0.0f, 2.0f));
+ m_object->SetPosition(20, Math::Vector(0.0f, 0.0f, 2.0f));
m_object->CreateShadowCircle(4.0f, 0.5f);
@@ -475,7 +475,7 @@ bool CMotionAnt::EventProcess(const Event &event)
bool CMotionAnt::EventFrame(const Event &event)
{
- D3DVECTOR dir, pos, speed;
+ Math::Vector dir, pos, speed;
Math::Point dim;
float s, a, prog, time;
float tSt[9], tNd[9];
@@ -671,11 +671,11 @@ bool CMotionAnt::EventFrame(const Event &event)
}
else if ( m_actionType == MAS_BURN ) // burning?
{
- dir = D3DVECTOR(Math::PI, 0.0f, 0.0f);
+ dir = Math::Vector(Math::PI, 0.0f, 0.0f);
SetCirVibration(dir);
- dir = D3DVECTOR(0.0f, -1.5f, 0.0f);
+ dir = Math::Vector(0.0f, -1.5f, 0.0f);
SetLinVibration(dir);
- dir = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ dir = Math::Vector(0.0f, 0.0f, 0.0f);
SetInclinaison(dir);
time = event.rTime*1.0f;
@@ -684,7 +684,7 @@ bool CMotionAnt::EventFrame(const Event &event)
}
else if ( m_actionType == MAS_RUIN ) // destroyed?
{
- dir = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ dir = Math::Vector(0.0f, 0.0f, 0.0f);
SetLinVibration(dir);
SetCirVibration(dir);
SetInclinaison(dir);
@@ -723,7 +723,7 @@ bool CMotionAnt::EventFrame(const Event &event)
dir.z = 0.0f;
SetCirVibration(dir);
- dir = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ dir = Math::Vector(0.0f, 0.0f, 0.0f);
SetInclinaison(dir);
if ( m_progress >= 1.0f )
@@ -752,7 +752,7 @@ bool CMotionAnt::EventFrame(const Event &event)
}
}
- dir = D3DVECTOR(0.0f, -1.0f, 0.0f);
+ dir = Math::Vector(0.0f, -1.0f, 0.0f);
SetLinVibration(dir);
dir.x = sinf(m_armTimeAbs* 4.0f)*0.10f+
sinf(m_armTimeAbs* 7.0f)*0.20f+
@@ -767,7 +767,7 @@ bool CMotionAnt::EventFrame(const Event &event)
sinf(m_armTimeAbs* 9.0f)*0.04f+
sinf(m_armTimeAbs*23.0f)*0.03f;
SetCirVibration(dir);
- dir = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ dir = Math::Vector(0.0f, 0.0f, 0.0f);
SetInclinaison(dir);
m_object->SetAngleY(1, sinf(m_armTimeAbs*8.0f)*0.7f); // head
@@ -814,7 +814,7 @@ bool CMotionAnt::EventFrame(const Event &event)
dir.z = 0.0f;
SetCirVibration(dir);
- dir = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ dir = Math::Vector(0.0f, 0.0f, 0.0f);
SetInclinaison(dir);
if ( m_progress >= 1.0f )
@@ -833,7 +833,7 @@ bool CMotionAnt::EventFrame(const Event &event)
{
m_object->SetAngleZ(2, sinf(m_armTimeAbs*1.7f)*0.15f); // tail
- dir = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ dir = Math::Vector(0.0f, 0.0f, 0.0f);
SetLinVibration(dir);
SetInclinaison(dir);
}
@@ -872,7 +872,7 @@ bool CMotionAnt::EventFrame(const Event &event)
SetLinVibration(dir);
}
- dir = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ dir = Math::Vector(0.0f, 0.0f, 0.0f);
SetCirVibration(dir);
m_object->SetAngleZ(1, sinf(m_armTimeAbs*1.4f)*0.20f); // head
diff --git a/src/object/motion/motionant.h b/src/object/motion/motionant.h
index dc969fe..499e18e 100644
--- a/src/object/motion/motionant.h
+++ b/src/object/motion/motionant.h
@@ -59,7 +59,7 @@ public:
~CMotionAnt();
void DeleteObject(bool bAll=false);
- bool Create(D3DVECTOR pos, float angle, ObjectType type, float power);
+ bool Create(Math::Vector pos, float angle, ObjectType type, float power);
bool EventProcess(const Event &event);
protected:
diff --git a/src/object/motion/motionbee.cpp b/src/object/motion/motionbee.cpp
index 41da476..c072ea2 100644
--- a/src/object/motion/motionbee.cpp
+++ b/src/object/motion/motionbee.cpp
@@ -79,7 +79,7 @@ void CMotionBee::DeleteObject(bool bAll)
// Creates a vehicle traveling any lands on the ground.
-bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
+bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
float power)
{
CModFile* pModFile;
@@ -104,8 +104,8 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
// A vehicle must have an obligatory collision
// with a sphere of center (0, y, 0) (see GetCrashSphere).
- m_object->CreateCrashSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 4.0f, SOUND_BOUM, 0.20f);
- m_object->SetGlobalSphere(D3DVECTOR(-1.0f, 1.0f, 0.0f), 5.0f);
+ m_object->CreateCrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 4.0f, SOUND_BOUM, 0.20f);
+ m_object->SetGlobalSphere(Math::Vector(-1.0f, 1.0f, 0.0f), 5.0f);
// Creates the head.
rank = m_engine->CreateObject();
@@ -114,7 +114,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(1, 0);
pModFile->ReadModel("objects\\bee2.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(1, D3DVECTOR(1.6f, 0.3f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(1.6f, 0.3f, 0.0f));
// Creates the tail.
rank = m_engine->CreateObject();
@@ -123,7 +123,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(2, 0);
pModFile->ReadModel("objects\\bee3.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(2, D3DVECTOR(-0.8f, 0.0f, 0.0f));
+ m_object->SetPosition(2, Math::Vector(-0.8f, 0.0f, 0.0f));
// Creates a right-back thigh.
rank = m_engine->CreateObject();
@@ -132,7 +132,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(3, 0);
pModFile->ReadModel("objects\\ant4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(3, D3DVECTOR(-0.3f, -0.1f, -0.2f));
+ m_object->SetPosition(3, Math::Vector(-0.3f, -0.1f, -0.2f));
// Creates a right-back leg.
rank = m_engine->CreateObject();
@@ -141,7 +141,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(4, 3);
pModFile->ReadModel("objects\\ant5.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(4, D3DVECTOR(0.0f, 0.0f, -1.0f));
+ m_object->SetPosition(4, Math::Vector(0.0f, 0.0f, -1.0f));
// Creates a right-back foot.
rank = m_engine->CreateObject();
@@ -150,7 +150,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(5, 4);
pModFile->ReadModel("objects\\ant6.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(5, D3DVECTOR(0.0f, 0.0f, -2.0f));
+ m_object->SetPosition(5, Math::Vector(0.0f, 0.0f, -2.0f));
// Creates two middle-right thighs.
rank = m_engine->CreateObject();
@@ -159,7 +159,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(6, 0);
pModFile->ReadModel("objects\\ant4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(6, D3DVECTOR(0.3f, -0.1f, -0.4f));
+ m_object->SetPosition(6, Math::Vector(0.3f, -0.1f, -0.4f));
// Creates two middle-right legs.
rank = m_engine->CreateObject();
@@ -168,7 +168,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(7, 6);
pModFile->ReadModel("objects\\ant5.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(7, D3DVECTOR(0.0f, 0.0f, -1.0f));
+ m_object->SetPosition(7, Math::Vector(0.0f, 0.0f, -1.0f));
// Creates two middle-right feet.
rank = m_engine->CreateObject();
@@ -177,7 +177,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(8, 7);
pModFile->ReadModel("objects\\ant6.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(8, D3DVECTOR(0.0f, 0.0f, -2.0f));
+ m_object->SetPosition(8, Math::Vector(0.0f, 0.0f, -2.0f));
// Creates the right front thigh.
rank = m_engine->CreateObject();
@@ -186,7 +186,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(9, 0);
pModFile->ReadModel("objects\\ant4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(9, D3DVECTOR(1.0f, -0.1f, -0.7f));
+ m_object->SetPosition(9, Math::Vector(1.0f, -0.1f, -0.7f));
// Creates the right front leg.
rank = m_engine->CreateObject();
@@ -195,7 +195,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(10, 9);
pModFile->ReadModel("objects\\ant5.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(10, D3DVECTOR(0.0f, 0.0f, -1.0f));
+ m_object->SetPosition(10, Math::Vector(0.0f, 0.0f, -1.0f));
// Creates the right front foot.
rank = m_engine->CreateObject();
@@ -204,7 +204,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(11, 10);
pModFile->ReadModel("objects\\ant6.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(11, D3DVECTOR(0.0f, 0.0f, -2.0f));
+ m_object->SetPosition(11, Math::Vector(0.0f, 0.0f, -2.0f));
// Creates a left-back thigh.
rank = m_engine->CreateObject();
@@ -213,7 +213,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(12, 0);
pModFile->ReadModel("objects\\ant4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(12, D3DVECTOR(-0.3f, -0.1f, 0.2f));
+ m_object->SetPosition(12, Math::Vector(-0.3f, -0.1f, 0.2f));
m_object->SetAngleY(12, Math::PI);
// Creates a left-back leg.
@@ -223,7 +223,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(13, 12);
pModFile->ReadModel("objects\\ant5.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(13, D3DVECTOR(0.0f, 0.0f, -1.0f));
+ m_object->SetPosition(13, Math::Vector(0.0f, 0.0f, -1.0f));
// Creates a left-back foot.
rank = m_engine->CreateObject();
@@ -232,7 +232,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(14, 13);
pModFile->ReadModel("objects\\ant6.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(14, D3DVECTOR(0.0f, 0.0f, -2.0f));
+ m_object->SetPosition(14, Math::Vector(0.0f, 0.0f, -2.0f));
// Creates two middle-left thigh.
rank = m_engine->CreateObject();
@@ -241,7 +241,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(15, 0);
pModFile->ReadModel("objects\\ant4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(15, D3DVECTOR(0.3f, -0.1f, 0.4f));
+ m_object->SetPosition(15, Math::Vector(0.3f, -0.1f, 0.4f));
m_object->SetAngleY(15, Math::PI);
// Creates two middle-left legs.
@@ -251,7 +251,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(16, 15);
pModFile->ReadModel("objects\\ant5.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(16, D3DVECTOR(0.0f, 0.0f, -1.0f));
+ m_object->SetPosition(16, Math::Vector(0.0f, 0.0f, -1.0f));
// Creates two middle-left feet.
rank = m_engine->CreateObject();
@@ -260,7 +260,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(17, 16);
pModFile->ReadModel("objects\\ant6.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(17, D3DVECTOR(0.0f, 0.0f, -2.0f));
+ m_object->SetPosition(17, Math::Vector(0.0f, 0.0f, -2.0f));
// Creates front-left thigh.
rank = m_engine->CreateObject();
@@ -269,7 +269,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(18, 0);
pModFile->ReadModel("objects\\ant4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(18, D3DVECTOR(1.0f, -0.1f, 0.7f));
+ m_object->SetPosition(18, Math::Vector(1.0f, -0.1f, 0.7f));
m_object->SetAngleY(18, Math::PI);
// Creates front-left leg.
@@ -279,7 +279,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(19, 18);
pModFile->ReadModel("objects\\ant5.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(19, D3DVECTOR(0.0f, 0.0f, -1.0f));
+ m_object->SetPosition(19, Math::Vector(0.0f, 0.0f, -1.0f));
// Creates front-left foot.
rank = m_engine->CreateObject();
@@ -288,7 +288,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(20, 19);
pModFile->ReadModel("objects\\ant6.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(20, D3DVECTOR(0.0f, 0.0f, -2.0f));
+ m_object->SetPosition(20, Math::Vector(0.0f, 0.0f, -2.0f));
// Creates the right wing.
rank = m_engine->CreateObject();
@@ -297,7 +297,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(21, 0);
pModFile->ReadModel("objects\\bee7.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(21, D3DVECTOR(0.8f, 0.4f, -0.5f));
+ m_object->SetPosition(21, Math::Vector(0.8f, 0.4f, -0.5f));
// Creates the left wing.
rank = m_engine->CreateObject();
@@ -307,7 +307,7 @@ bool CMotionBee::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\bee7.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(22, D3DVECTOR(0.8f, 0.4f, 0.5f));
+ m_object->SetPosition(22, Math::Vector(0.8f, 0.4f, 0.5f));
m_object->CreateShadowCircle(6.0f, 0.5f);
@@ -452,7 +452,7 @@ bool CMotionBee::EventProcess(const Event &event)
bool CMotionBee::EventFrame(const Event &event)
{
- D3DVECTOR dir;
+ Math::Vector dir;
float s, a, prog;
int action, i, st, nd;
bool bStop;
diff --git a/src/object/motion/motionbee.h b/src/object/motion/motionbee.h
index 5c69bff..7dce32b 100644
--- a/src/object/motion/motionbee.h
+++ b/src/object/motion/motionbee.h
@@ -54,7 +54,7 @@ public:
~CMotionBee();
void DeleteObject(bool bAll=false);
- bool Create(D3DVECTOR pos, float angle, ObjectType type, float power);
+ bool Create(Math::Vector pos, float angle, ObjectType type, float power);
bool EventProcess(const Event &event);
protected:
diff --git a/src/object/motion/motionhuman.cpp b/src/object/motion/motionhuman.cpp
index bcdf2df..bf4e588 100644
--- a/src/object/motion/motionhuman.cpp
+++ b/src/object/motion/motionhuman.cpp
@@ -105,7 +105,7 @@ Error CMotionHuman::SetAction(int action, float time)
// Creates cosmonaut on the ground.
-bool CMotionHuman::Create(D3DVECTOR pos, float angle, ObjectType type,
+bool CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
float power)
{
CModFile* pModFile;
@@ -173,8 +173,8 @@ bool CMotionHuman::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetAngleY(0, angle);
// A vehicle must have an obligatory collision with a sphere of center (0, y, 0) (see GetCrashSphere).
- m_object->CreateCrashSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 2.0f, SOUND_AIE, 0.20f);
- m_object->SetGlobalSphere(D3DVECTOR(0.0f, 1.0f, 0.0f), 4.0f);
+ m_object->CreateCrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 2.0f, SOUND_AIE, 0.20f);
+ m_object->SetGlobalSphere(Math::Vector(0.0f, 1.0f, 0.0f), 4.0f);
// Creates the head.
rank = m_engine->CreateObject();
@@ -203,11 +203,11 @@ bool CMotionHuman::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\human2t.mod");
}
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(1, D3DVECTOR(0.0f, 2.7f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(0.0f, 2.7f, 0.0f));
if ( option == 1 || // head without helmet?
option == 2 ) // without a backpack?
{
- m_object->SetZoom(1, D3DVECTOR(1.0f, 1.05f, 1.0f));
+ m_object->SetZoom(1, Math::Vector(1.0f, 1.05f, 1.0f));
}
// Creates the glasses.
@@ -230,8 +230,8 @@ bool CMotionHuman::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(2, 0);
pModFile->ReadModel("objects\\human3.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(2, D3DVECTOR(0.0f, 2.3f, -1.2f));
- m_object->SetAngle(2, D3DVECTOR(90.0f*Math::PI/180.0f, 90.0f*Math::PI/180.0f, -50.0f*Math::PI/180.0f));
+ m_object->SetPosition(2, Math::Vector(0.0f, 2.3f, -1.2f));
+ m_object->SetAngle(2, Math::Vector(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();
@@ -240,8 +240,8 @@ bool CMotionHuman::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(3, 2);
pModFile->ReadModel("objects\\human4r.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(3, D3DVECTOR(1.3f, 0.0f, 0.0f));
- m_object->SetAngle(3, D3DVECTOR(0.0f*Math::PI/180.0f, -20.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f));
+ m_object->SetPosition(3, Math::Vector(1.3f, 0.0f, 0.0f));
+ m_object->SetAngle(3, Math::Vector(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();
@@ -250,7 +250,7 @@ bool CMotionHuman::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(4, 3);
pModFile->ReadModel("objects\\human5.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(4, D3DVECTOR(1.2f, 0.0f, 0.0f));
+ m_object->SetPosition(4, Math::Vector(1.2f, 0.0f, 0.0f));
// Creates the right thigh.
rank = m_engine->CreateObject();
@@ -259,8 +259,8 @@ bool CMotionHuman::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(5, 0);
pModFile->ReadModel("objects\\human6.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(5, D3DVECTOR(0.0f, 0.0f, -0.7f));
- m_object->SetAngle(5, D3DVECTOR(10.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f, 5.0f*Math::PI/180.0f));
+ m_object->SetPosition(5, Math::Vector(0.0f, 0.0f, -0.7f));
+ m_object->SetAngle(5, Math::Vector(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();
@@ -269,8 +269,8 @@ bool CMotionHuman::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(6, 5);
pModFile->ReadModel("objects\\human7.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(6, D3DVECTOR(0.0f, -1.5f, 0.0f));
- m_object->SetAngle(6, D3DVECTOR(0.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f, -10.0f*Math::PI/180.0f));
+ m_object->SetPosition(6, Math::Vector(0.0f, -1.5f, 0.0f));
+ m_object->SetAngle(6, Math::Vector(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();
@@ -279,8 +279,8 @@ bool CMotionHuman::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(7, 6);
pModFile->ReadModel("objects\\human8.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(7, D3DVECTOR(0.0f, -1.5f, 0.0f));
- m_object->SetAngle(7, D3DVECTOR(-10.0f*Math::PI/180.0f, 5.0f*Math::PI/180.0f, 5.0f*Math::PI/180.0f));
+ m_object->SetPosition(7, Math::Vector(0.0f, -1.5f, 0.0f));
+ m_object->SetAngle(7, Math::Vector(-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();
@@ -290,8 +290,8 @@ bool CMotionHuman::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\human3.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(8, D3DVECTOR(0.0f, 2.3f, 1.2f));
- m_object->SetAngle(8, D3DVECTOR(-90.0f*Math::PI/180.0f, -90.0f*Math::PI/180.0f, -50.0f*Math::PI/180.0f));
+ m_object->SetPosition(8, Math::Vector(0.0f, 2.3f, 1.2f));
+ m_object->SetAngle(8, Math::Vector(-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();
@@ -301,8 +301,8 @@ bool CMotionHuman::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\human4l.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(9, D3DVECTOR(1.3f, 0.0f, 0.0f));
- m_object->SetAngle(9, D3DVECTOR(0.0f*Math::PI/180.0f, 20.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f));
+ m_object->SetPosition(9, Math::Vector(1.3f, 0.0f, 0.0f));
+ m_object->SetAngle(9, Math::Vector(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();
@@ -312,7 +312,7 @@ bool CMotionHuman::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\human5.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(10, D3DVECTOR(1.2f, 0.0f, 0.0f));
+ m_object->SetPosition(10, Math::Vector(1.2f, 0.0f, 0.0f));
// Creates the left thigh.
rank = m_engine->CreateObject();
@@ -322,8 +322,8 @@ bool CMotionHuman::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\human6.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(11, D3DVECTOR(0.0f, 0.0f, 0.7f));
- m_object->SetAngle(11, D3DVECTOR(-10.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f, 5.0f*Math::PI/180.0f));
+ m_object->SetPosition(11, Math::Vector(0.0f, 0.0f, 0.7f));
+ m_object->SetAngle(11, Math::Vector(-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();
@@ -333,8 +333,8 @@ bool CMotionHuman::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\human7.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(12, D3DVECTOR(0.0f, -1.5f, 0.0f));
- m_object->SetAngle(12, D3DVECTOR(0.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f, -10.0f*Math::PI/180.0f));
+ m_object->SetPosition(12, Math::Vector(0.0f, -1.5f, 0.0f));
+ m_object->SetAngle(12, Math::Vector(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();
@@ -344,8 +344,8 @@ bool CMotionHuman::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\human8.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(13, D3DVECTOR(0.0f, -1.5f, 0.0f));
- m_object->SetAngle(13, D3DVECTOR(10.0f*Math::PI/180.0f, -5.0f*Math::PI/180.0f, 5.0f*Math::PI/180.0f));
+ m_object->SetPosition(13, Math::Vector(0.0f, -1.5f, 0.0f));
+ m_object->SetAngle(13, Math::Vector(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 ) // with backpack?
@@ -356,7 +356,7 @@ bool CMotionHuman::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(14, 0);
pModFile->ReadModel("objects\\human9.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(14, D3DVECTOR(-1.5f, 0.3f, -1.35f));
+ m_object->SetPosition(14, Math::Vector(-1.5f, 0.3f, -1.35f));
m_object->SetAngleZ(14, Math::PI);
}
@@ -717,8 +717,8 @@ bool CMotionHuman::EventProcess(const Event &event)
bool CMotionHuman::EventFrame(const Event &event)
{
- D3DMATRIX* mat;
- D3DVECTOR dir, actual, pos, speed, pf;
+ Math::Matrix* mat;
+ Math::Vector dir, actual, pos, speed, pf;
Math::Point center, dim, p2;
float s, a, prog, rTime[2], lTime[2], time, rot, hr, hl;
float al, ar, af;
@@ -749,13 +749,13 @@ bool CMotionHuman::EventFrame(const Event &event)
if ( m_bDisplayPerso && m_main->RetGamerOnlyHead() )
{
m_time += event.rTime;
- m_object->SetLinVibration(D3DVECTOR(0.0f, -0.55f, 0.0f));
- m_object->SetCirVibration(D3DVECTOR(0.0f, m_main->RetPersoAngle(), 0.0f));
+ m_object->SetLinVibration(Math::Vector(0.0f, -0.55f, 0.0f));
+ m_object->SetCirVibration(Math::Vector(0.0f, m_main->RetPersoAngle(), 0.0f));
return true;
}
if ( m_bDisplayPerso )
{
- m_object->SetCirVibration(D3DVECTOR(0.0f, m_main->RetPersoAngle()+0.2f, 0.0f));
+ m_object->SetCirVibration(Math::Vector(0.0f, m_main->RetPersoAngle()+0.2f, 0.0f));
}
shield = m_object->RetShield();
@@ -1322,7 +1322,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->MoveOnFloor(pos);
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 1.2f+Math::Rand()*1.2f;
dim.y = dim.x;
m_particule->CreateParticule(pos, speed, dim, PARTICRASH, 2.0f, 0.0f, 0.0f);
@@ -1392,7 +1392,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->MoveOnFloor(pos);
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 2.0f+Math::Rand()*1.5f;
dim.y = dim.x;
m_particule->CreateParticule(pos, speed, dim, PARTICRASH, 2.0f, 0.0f, 0.0f);
@@ -1488,7 +1488,7 @@ bool CMotionHuman::EventFrame(const Event &event)
dir.z = Math::Smooth(actual.z, dir.z, time);
m_object->SetInclinaison(dir);
- m_object->SetCirVibration(D3DVECTOR(0.0f, 0.0f, 0.0f));
+ m_object->SetCirVibration(Math::Vector(0.0f, 0.0f, 0.0f));
}
else if ( m_actionType == MHS_LOST ) // lost?
{
@@ -1510,7 +1510,7 @@ bool CMotionHuman::EventFrame(const Event &event)
SetLinVibration(dir);
mat = m_object->RetWorldMatrix(0);
- pos = D3DVECTOR(0.5f, 3.7f, 0.0f);
+ pos = Math::Vector(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;
@@ -1524,9 +1524,9 @@ bool CMotionHuman::EventFrame(const Event &event)
}
else if ( m_actionType == MHS_SATCOM ) // look at the SatCom?
{
- SetCirVibration(D3DVECTOR(0.0f, 0.0f, 0.0f));
- SetLinVibration(D3DVECTOR(0.0f, 0.0f, 0.0f));
- SetInclinaison(D3DVECTOR(0.0f, 0.0f, 0.0f));
+ SetCirVibration(Math::Vector(0.0f, 0.0f, 0.0f));
+ SetLinVibration(Math::Vector(0.0f, 0.0f, 0.0f));
+ SetInclinaison(Math::Vector(0.0f, 0.0f, 0.0f));
}
else
{
diff --git a/src/object/motion/motionhuman.h b/src/object/motion/motionhuman.h
index 1fc8d57..f83bc13 100644
--- a/src/object/motion/motionhuman.h
+++ b/src/object/motion/motionhuman.h
@@ -73,7 +73,7 @@ public:
~CMotionHuman();
void DeleteObject(bool bAll=false);
- bool Create(D3DVECTOR pos, float angle, ObjectType type, float power);
+ bool Create(Math::Vector pos, float angle, ObjectType type, float power);
bool EventProcess(const Event &event);
Error SetAction(int action, float time=0.2f);
diff --git a/src/object/motion/motionmother.cpp b/src/object/motion/motionmother.cpp
index 7f98eca..d8d049c 100644
--- a/src/object/motion/motionmother.cpp
+++ b/src/object/motion/motionmother.cpp
@@ -80,7 +80,7 @@ void CMotionMother::DeleteObject(bool bAll)
// Creates a vehicle traveling any lands on the ground.
-bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
+bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
float power)
{
CModFile* pModFile;
@@ -105,8 +105,8 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
// A vehicle must have a obligatory collision
//with a sphere of center (0, y, 0) (see GetCrashSphere).
- m_object->CreateCrashSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 20.0f, SOUND_BOUM, 0.20f);
- m_object->SetGlobalSphere(D3DVECTOR(-2.0f, 10.0f, 0.0f), 25.0f);
+ m_object->CreateCrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 20.0f, SOUND_BOUM, 0.20f);
+ m_object->SetGlobalSphere(Math::Vector(-2.0f, 10.0f, 0.0f), 25.0f);
// Creates the head.
rank = m_engine->CreateObject();
@@ -115,7 +115,7 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(1, 0);
pModFile->ReadModel("objects\\mother2.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(1, D3DVECTOR(16.0f, 3.0f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(16.0f, 3.0f, 0.0f));
// Creates a right-back leg.
rank = m_engine->CreateObject();
@@ -124,7 +124,7 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(2, 0);
pModFile->ReadModel("objects\\mother3.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(2, D3DVECTOR(-5.0f, -1.0f, -12.0f));
+ m_object->SetPosition(2, Math::Vector(-5.0f, -1.0f, -12.0f));
// Creates a right-back foot.
rank = m_engine->CreateObject();
@@ -133,7 +133,7 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(3, 2);
pModFile->ReadModel("objects\\mother4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(3, D3DVECTOR(0.0f, 0.0f, -8.5f));
+ m_object->SetPosition(3, Math::Vector(0.0f, 0.0f, -8.5f));
// Creates a middle-right leg.
rank = m_engine->CreateObject();
@@ -142,7 +142,7 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(4, 0);
pModFile->ReadModel("objects\\mother3.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(4, D3DVECTOR(3.5f, -1.0f, -12.0f));
+ m_object->SetPosition(4, Math::Vector(3.5f, -1.0f, -12.0f));
// Creates a middle-right foot.
rank = m_engine->CreateObject();
@@ -151,7 +151,7 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(5, 4);
pModFile->ReadModel("objects\\mother4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(5, D3DVECTOR(0.0f, 0.0f, -8.5f));
+ m_object->SetPosition(5, Math::Vector(0.0f, 0.0f, -8.5f));
// Creates a right-front leg.
rank = m_engine->CreateObject();
@@ -160,7 +160,7 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(6, 0);
pModFile->ReadModel("objects\\mother3.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(6, D3DVECTOR(10.0f, -1.0f, -10.0f));
+ m_object->SetPosition(6, Math::Vector(10.0f, -1.0f, -10.0f));
// Creates a right-front foot.
rank = m_engine->CreateObject();
@@ -169,7 +169,7 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(7, 6);
pModFile->ReadModel("objects\\mother4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(7, D3DVECTOR(0.0f, 0.0f, -8.5f));
+ m_object->SetPosition(7, Math::Vector(0.0f, 0.0f, -8.5f));
// Creates a left-back leg.
rank = m_engine->CreateObject();
@@ -178,7 +178,7 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(8, 0);
pModFile->ReadModel("objects\\mother3.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(8, D3DVECTOR(-5.0f, -1.0f, 12.0f));
+ m_object->SetPosition(8, Math::Vector(-5.0f, -1.0f, 12.0f));
m_object->SetAngleY(8, Math::PI);
// Creates a left-back foot.
@@ -188,7 +188,7 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(9, 8);
pModFile->ReadModel("objects\\mother4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(9, D3DVECTOR(0.0f, 0.0f, -8.5f));
+ m_object->SetPosition(9, Math::Vector(0.0f, 0.0f, -8.5f));
// Creates a middle-left leg.
rank = m_engine->CreateObject();
@@ -197,7 +197,7 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(10, 0);
pModFile->ReadModel("objects\\mother3.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(10, D3DVECTOR(3.5f, -1.0f, 12.0f));
+ m_object->SetPosition(10, Math::Vector(3.5f, -1.0f, 12.0f));
m_object->SetAngleY(10, Math::PI);
// Creates a middle-left foot.
@@ -207,7 +207,7 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(11, 10);
pModFile->ReadModel("objects\\mother4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(11, D3DVECTOR(0.0f, 0.0f, -8.5f));
+ m_object->SetPosition(11, Math::Vector(0.0f, 0.0f, -8.5f));
// Creates a left-front leg.
rank = m_engine->CreateObject();
@@ -216,7 +216,7 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(12, 0);
pModFile->ReadModel("objects\\mother3.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(12, D3DVECTOR(10.0f, -1.0f, 10.0f));
+ m_object->SetPosition(12, Math::Vector(10.0f, -1.0f, 10.0f));
m_object->SetAngleY(12, Math::PI);
// Creates a left-front foot.
@@ -226,7 +226,7 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(13, 12);
pModFile->ReadModel("objects\\mother4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(13, D3DVECTOR(0.0f, 0.0f, -8.5f));
+ m_object->SetPosition(13, Math::Vector(0.0f, 0.0f, -8.5f));
// Creates the right antenna.
rank = m_engine->CreateObject();
@@ -235,7 +235,7 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(14, 1);
pModFile->ReadModel("objects\\mother5.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(14, D3DVECTOR(6.0f, 1.0f, -2.5f));
+ m_object->SetPosition(14, Math::Vector(6.0f, 1.0f, -2.5f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -243,7 +243,7 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(15, 14);
pModFile->ReadModel("objects\\mother6.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(15, D3DVECTOR(8.0f, 0.0f, 0.0f));
+ m_object->SetPosition(15, Math::Vector(8.0f, 0.0f, 0.0f));
// Creates the left antenna.
rank = m_engine->CreateObject();
@@ -252,7 +252,7 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(16, 1);
pModFile->ReadModel("objects\\mother5.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(16, D3DVECTOR(6.0f, 1.0f, 2.5f));
+ m_object->SetPosition(16, Math::Vector(6.0f, 1.0f, 2.5f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -260,7 +260,7 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(17, 16);
pModFile->ReadModel("objects\\mother6.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(17, D3DVECTOR(8.0f, 0.0f, 0.0f));
+ m_object->SetPosition(17, Math::Vector(8.0f, 0.0f, 0.0f));
// Creates the right claw.
rank = m_engine->CreateObject();
@@ -269,7 +269,7 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(18, 1);
pModFile->ReadModel("objects\\mother7.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(18, D3DVECTOR(-4.0f, -3.5f, -8.0f));
+ m_object->SetPosition(18, Math::Vector(-4.0f, -3.5f, -8.0f));
m_object->SetZoomX(18, 1.2f);
// Creates the left claw.
@@ -280,7 +280,7 @@ bool CMotionMother::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\mother7.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(19, D3DVECTOR(-4.0f, -3.5f, 8.0f));
+ m_object->SetPosition(19, Math::Vector(-4.0f, -3.5f, 8.0f));
m_object->SetZoomX(19, 1.2f);
m_object->CreateShadowCircle(18.0f, 0.8f);
@@ -401,7 +401,7 @@ bool CMotionMother::EventProcess(const Event &event)
bool CMotionMother::EventFrame(const Event &event)
{
- D3DVECTOR dir;
+ Math::Vector dir;
float s, a, prog;
int i, st, nd;
bool bStop;
diff --git a/src/object/motion/motionmother.h b/src/object/motion/motionmother.h
index d3a6b2a..6578f91 100644
--- a/src/object/motion/motionmother.h
+++ b/src/object/motion/motionmother.h
@@ -40,7 +40,7 @@ public:
~CMotionMother();
void DeleteObject(bool bAll=false);
- bool Create(D3DVECTOR pos, float angle, ObjectType type, float power);
+ bool Create(Math::Vector pos, float angle, ObjectType type, float power);
bool EventProcess(const Event &event);
protected:
diff --git a/src/object/motion/motionspider.cpp b/src/object/motion/motionspider.cpp
index 4ac799b..5447c35 100644
--- a/src/object/motion/motionspider.cpp
+++ b/src/object/motion/motionspider.cpp
@@ -80,7 +80,7 @@ void CMotionSpider::DeleteObject(bool bAll)
// Creates a vehicle traveling any lands on the ground.
-bool CMotionSpider::Create(D3DVECTOR pos, float angle, ObjectType type,
+bool CMotionSpider::Create(Math::Vector pos, float angle, ObjectType type,
float power)
{
CModFile* pModFile;
@@ -128,8 +128,8 @@ bool CMotionSpider::Create(D3DVECTOR pos, float angle, ObjectType type,
// A vehicle must have a obligatory collision
// with a sphere of center (0, y, 0) (see GetCrashSphere).
- m_object->CreateCrashSphere(D3DVECTOR(0.0f, -2.0f, 0.0f), 4.0f, SOUND_BOUM, 0.20f);
- m_object->SetGlobalSphere(D3DVECTOR(-0.5f, 1.0f, 0.0f), 4.0f);
+ m_object->CreateCrashSphere(Math::Vector(0.0f, -2.0f, 0.0f), 4.0f, SOUND_BOUM, 0.20f);
+ m_object->SetGlobalSphere(Math::Vector(-0.5f, 1.0f, 0.0f), 4.0f);
// Creates the abdomen.
rank = m_engine->CreateObject();
@@ -138,7 +138,7 @@ bool CMotionSpider::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(1, 0);
pModFile->ReadModel("objects\\spider1.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(1, D3DVECTOR(1.0f, 0.0f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(1.0f, 0.0f, 0.0f));
// Creates the head.
rank = m_engine->CreateObject();
@@ -147,7 +147,7 @@ bool CMotionSpider::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(2, 0);
pModFile->ReadModel("objects\\spider2.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(2, D3DVECTOR(1.0f, 0.0f, 0.0f));
+ m_object->SetPosition(2, Math::Vector(1.0f, 0.0f, 0.0f));
// Creates legs.
for ( i=0 ; i<4 ; i++ )
@@ -194,7 +194,7 @@ bool CMotionSpider::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(35, 1);
pModFile->ReadModel("objects\\spider7.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(35, D3DVECTOR(0.0f, 0.0f, -0.3f));
+ m_object->SetPosition(35, Math::Vector(0.0f, 0.0f, -0.3f));
// Creates the left mandible.
rank = m_engine->CreateObject();
@@ -204,7 +204,7 @@ bool CMotionSpider::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\spider7.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(36, D3DVECTOR(0.0f, 0.0f, 0.3f));
+ m_object->SetPosition(36, Math::Vector(0.0f, 0.0f, 0.3f));
m_object->CreateShadowCircle(4.0f, 0.5f);
@@ -389,7 +389,7 @@ bool CMotionSpider::EventProcess(const Event &event)
bool CMotionSpider::EventFrame(const Event &event)
{
- D3DVECTOR dir, pos, speed;
+ Math::Vector dir, pos, speed;
Math::Point dim;
float s, a, prog, time;
float tSt[12], tNd[12];
@@ -567,9 +567,9 @@ bool CMotionSpider::EventFrame(const Event &event)
if ( m_actionType == MSS_BURN ) // burning?
{
- dir = D3DVECTOR(Math::PI, 0.0f, 0.0f);
+ dir = Math::Vector(Math::PI, 0.0f, 0.0f);
SetCirVibration(dir);
- dir = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ dir = Math::Vector(0.0f, 0.0f, 0.0f);
SetLinVibration(dir);
SetInclinaison(dir);
@@ -578,7 +578,7 @@ bool CMotionSpider::EventFrame(const Event &event)
}
else if ( m_actionType == MSS_RUIN ) // destroyed?
{
- dir = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ dir = Math::Vector(0.0f, 0.0f, 0.0f);
SetLinVibration(dir);
SetCirVibration(dir);
SetInclinaison(dir);
@@ -628,7 +628,7 @@ bool CMotionSpider::EventFrame(const Event &event)
dir.z = 0.0f;
SetCirVibration(dir);
- dir = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ dir = Math::Vector(0.0f, 0.0f, 0.0f);
SetInclinaison(dir);
if ( m_progress >= 1.0f )
@@ -657,7 +657,7 @@ bool CMotionSpider::EventFrame(const Event &event)
}
}
- dir = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ dir = Math::Vector(0.0f, 0.0f, 0.0f);
SetLinVibration(dir);
dir.x = sinf(m_armTimeAbs* 3.0f)*0.20f+
sinf(m_armTimeAbs* 6.0f)*0.20f+
@@ -672,7 +672,7 @@ bool CMotionSpider::EventFrame(const Event &event)
sinf(m_armTimeAbs*13.0f)*0.02f+
sinf(m_armTimeAbs*15.0f)*0.03f;
SetCirVibration(dir);
- dir = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ dir = Math::Vector(0.0f, 0.0f, 0.0f);
SetInclinaison(dir);
m_object->SetAngleY(1, sinf(m_armTimeAbs*5.0f)*0.05f); // tail
@@ -719,7 +719,7 @@ bool CMotionSpider::EventFrame(const Event &event)
dir.z = 0.0f;
SetCirVibration(dir);
- dir = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ dir = Math::Vector(0.0f, 0.0f, 0.0f);
SetInclinaison(dir);
if ( m_progress >= 1.0f )
@@ -732,7 +732,7 @@ bool CMotionSpider::EventFrame(const Event &event)
{
if ( bStop )
{
- dir = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ dir = Math::Vector(0.0f, 0.0f, 0.0f);
SetInclinaison(dir);
}
else
@@ -751,7 +751,7 @@ bool CMotionSpider::EventFrame(const Event &event)
SetInclinaison(dir);
}
- dir = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ dir = Math::Vector(0.0f, 0.0f, 0.0f);
SetLinVibration(dir);
SetCirVibration(dir);
diff --git a/src/object/motion/motionspider.h b/src/object/motion/motionspider.h
index 6f18e07..3c6fa17 100644
--- a/src/object/motion/motionspider.h
+++ b/src/object/motion/motionspider.h
@@ -58,7 +58,7 @@ public:
~CMotionSpider();
void DeleteObject(bool bAll=false);
- bool Create(D3DVECTOR pos, float angle, ObjectType type, float power);
+ bool Create(Math::Vector pos, float angle, ObjectType type, float power);
bool EventProcess(const Event &event);
protected:
diff --git a/src/object/motion/motiontoto.cpp b/src/object/motion/motiontoto.cpp
index 95caf3d..9a66362 100644
--- a/src/object/motion/motiontoto.cpp
+++ b/src/object/motion/motiontoto.cpp
@@ -89,7 +89,7 @@ void CMotionToto::DeleteObject(bool bAll)
// Creates a vehicle traveling any lands on the ground.
-bool CMotionToto::Create(D3DVECTOR pos, float angle, ObjectType type,
+bool CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
float power)
{
CModFile* pModFile;
@@ -117,7 +117,7 @@ bool CMotionToto::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(1, 0);
pModFile->ReadModel("objects\\toto2.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(1, D3DVECTOR(1.00f, 0.17f, 0.00f));
+ m_object->SetPosition(1, Math::Vector(1.00f, 0.17f, 0.00f));
// Creates the left eye.
rank = m_engine->CreateObject();
@@ -127,7 +127,7 @@ bool CMotionToto::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\toto3.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(2, D3DVECTOR(0.85f, 1.04f, 0.25f));
+ m_object->SetPosition(2, Math::Vector(0.85f, 1.04f, 0.25f));
m_object->SetAngleY(2, -20.0f*Math::PI/180.0f);
// Creates the right eye.
@@ -137,7 +137,7 @@ bool CMotionToto::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(3, 0);
pModFile->ReadModel("objects\\toto3.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(3, D3DVECTOR(0.85f, 1.04f, -0.25f));
+ m_object->SetPosition(3, Math::Vector(0.85f, 1.04f, -0.25f));
m_object->SetAngleY(3, 20.0f*Math::PI/180.0f);
// Creates left antenna.
@@ -147,7 +147,7 @@ bool CMotionToto::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(4, 0);
pModFile->ReadModel("objects\\toto4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(4, D3DVECTOR(0.0f, 1.9f, 0.3f));
+ m_object->SetPosition(4, Math::Vector(0.0f, 1.9f, 0.3f));
m_object->SetAngleX(4, 30.0f*Math::PI/180.0f);
rank = m_engine->CreateObject();
@@ -156,7 +156,7 @@ bool CMotionToto::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(5, 4);
pModFile->ReadModel("objects\\toto4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(5, D3DVECTOR(0.0f, 0.67f, 0.0f));
+ m_object->SetPosition(5, Math::Vector(0.0f, 0.67f, 0.0f));
m_object->SetAngleX(5, 30.0f*Math::PI/180.0f);
rank = m_engine->CreateObject();
@@ -165,7 +165,7 @@ bool CMotionToto::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(6, 5);
pModFile->ReadModel("objects\\toto5.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(6, D3DVECTOR(0.0f, 0.70f, 0.0f));
+ m_object->SetPosition(6, Math::Vector(0.0f, 0.70f, 0.0f));
m_object->SetAngleX(6, 30.0f*Math::PI/180.0f);
// Creates right antenna.
@@ -175,7 +175,7 @@ bool CMotionToto::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(7, 0);
pModFile->ReadModel("objects\\toto4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(7, D3DVECTOR(0.0f, 1.9f, -0.3f));
+ m_object->SetPosition(7, Math::Vector(0.0f, 1.9f, -0.3f));
m_object->SetAngleX(7, -30.0f*Math::PI/180.0f);
rank = m_engine->CreateObject();
@@ -184,7 +184,7 @@ bool CMotionToto::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(8, 7);
pModFile->ReadModel("objects\\toto4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(8, D3DVECTOR(0.0f, 0.67f, 0.0f));
+ m_object->SetPosition(8, Math::Vector(0.0f, 0.67f, 0.0f));
m_object->SetAngleX(8, -30.0f*Math::PI/180.0f);
rank = m_engine->CreateObject();
@@ -193,7 +193,7 @@ bool CMotionToto::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(9, 8);
pModFile->ReadModel("objects\\toto5.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(9, D3DVECTOR(0.0f, 0.70f, 0.0f));
+ m_object->SetPosition(9, Math::Vector(0.0f, 0.70f, 0.0f));
m_object->SetAngleX(9, -30.0f*Math::PI/180.0f);
m_object->SetZoom(0, 0.5f); // is little
@@ -259,9 +259,9 @@ bool CMotionToto::EventProcess(const Event &event)
bool CMotionToto::EventFrame(const Event &event)
{
- D3DMATRIX* mat;
- D3DVECTOR eye, lookat, dir, perp, nPos, aPos, pos, speed;
- D3DVECTOR vibLin, vibCir, dirSpeed, aAntenna;
+ Math::Matrix* mat;
+ Math::Vector eye, lookat, dir, perp, nPos, aPos, pos, speed;
+ Math::Vector vibLin, vibCir, dirSpeed, aAntenna;
Math::Point dim;
POINT wDim;
ParticuleType type;
@@ -337,9 +337,9 @@ bool CMotionToto::EventFrame(const Event &event)
eye = m_engine->RetEyePt();
lookat = m_engine->RetLookatPt();
- vibLin = D3DVECTOR(0.0f, 0.0f, 0.0f);
- vibCir = D3DVECTOR(0.0f, 0.0f, 0.0f);
- aAntenna = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ 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);
aAntenna.x += 30.0f*Math::PI/180.0f;
// Calculates the new position.
@@ -456,7 +456,7 @@ bool CMotionToto::EventFrame(const Event &event)
if ( m_bStartAction )
{
m_bStartAction = false;
- m_speedAction = Length(nPos, aPos)/15.0f;
+ m_speedAction = Math::Distance(nPos, aPos)/15.0f;
if ( m_speedAction < 20.0f ) m_speedAction = 20.0f;
}
level = m_speedAction;
@@ -464,7 +464,7 @@ bool CMotionToto::EventFrame(const Event &event)
if ( level > 1.0f/event.rTime ) level = 1.0f/event.rTime;
nPos = aPos + (nPos-aPos)*event.rTime*level; // progression aPos -> nPos
- linSpeed = Length2d(nPos, aPos)/event.rTime;
+ linSpeed = Math::DistanceProjected(nPos, aPos)/event.rTime;
dirSpeed = (nPos-aPos)/event.rTime;
nPos.y -= linSpeed*0.015f*(1.0f-progress); // at ground level if moving fast
}
@@ -748,7 +748,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 = D3DVECTOR(1.0f, 0.2f, 0.0f);
+ pos = Math::Vector(1.0f, 0.2f, 0.0f);
pos.z += (Math::Rand()-0.5f)*0.5f;
speed = pos;
@@ -766,7 +766,7 @@ bool CMotionToto::EventFrame(const Event &event)
}
else // out of water?
{
- pos = D3DVECTOR(0.0f, -0.5f, 0.0f);
+ pos = Math::Vector(0.0f, -0.5f, 0.0f);
pos.z += (Math::Rand()-0.5f)*0.5f;
speed = pos;
@@ -790,7 +790,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 = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = (Math::Rand()*0.3f+0.3f);
dim.y = dim.x;
if ( m_actionType == MT_ERROR ) type = PARTIERROR;
@@ -814,7 +814,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 = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = (Math::Rand()*0.5f+0.5f);
dim.y = dim.x;
m_particule->CreateParticule(pos, speed, dim, PARTIERROR, 0.5f+Math::Rand()*0.5f, 0.0f, 1.0f, sheet);
diff --git a/src/object/motion/motiontoto.h b/src/object/motion/motiontoto.h
index 2201882..a2c46d5 100644
--- a/src/object/motion/motiontoto.h
+++ b/src/object/motion/motiontoto.h
@@ -50,7 +50,7 @@ public:
~CMotionToto();
void DeleteObject(bool bAll=false);
- bool Create(D3DVECTOR pos, float angle, ObjectType type, float power);
+ bool Create(Math::Vector pos, float angle, ObjectType type, float power);
bool EventProcess(const Event &event);
Error SetAction(int action, float time=0.2f);
void SetLinkType(ObjectType type);
diff --git a/src/object/motion/motionvehicle.cpp b/src/object/motion/motionvehicle.cpp
index 1c30514..c112900 100644
--- a/src/object/motion/motionvehicle.cpp
+++ b/src/object/motion/motionvehicle.cpp
@@ -23,6 +23,7 @@
#include "common/struct.h"
#include "math/func.h"
+#include "math/geometry.h"
#include "graphics/d3d/d3dengine.h"
#include "math/old/math3d.h"
#include "common/event.h"
@@ -66,9 +67,9 @@ CMotionVehicle::CMotionVehicle(CInstanceManager* iMan, CObject* object)
m_armMember = 1000.0f;
m_canonTime = 0.0f;
m_lastTimeCanon = 0.0f;
- m_wheelLastPos = D3DVECTOR(0.0f, 0.0f, 0.0f);
- m_wheelLastAngle = D3DVECTOR(0.0f, 0.0f, 0.0f);
- m_posKey = D3DVECTOR(0.0f, 0.0f, 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_bFlyFix = false;
m_bTraceDown = false;
@@ -97,7 +98,7 @@ void CMotionVehicle::DeleteObject(bool bAll)
// Creates a vehicle traveling any lands on the ground.
-bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
+bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
float power)
{
CModFile* pModFile;
@@ -203,27 +204,27 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
type == OBJECT_MOBILErr ||
type == OBJECT_MOBILErs )
{
- m_object->CreateCrashSphere(D3DVECTOR(0.0f, 4.0f, 0.0f), 6.5f, SOUND_BOUMm, 0.45f);
- m_object->SetGlobalSphere(D3DVECTOR(0.0f, 3.0f, 0.0f), 7.0f);
+ m_object->CreateCrashSphere(Math::Vector(0.0f, 4.0f, 0.0f), 6.5f, SOUND_BOUMm, 0.45f);
+ m_object->SetGlobalSphere(Math::Vector(0.0f, 3.0f, 0.0f), 7.0f);
}
else if ( type == OBJECT_MOBILEsa )
{
- m_object->CreateCrashSphere(D3DVECTOR(0.0f, 3.0f, 0.0f), 4.5f, SOUND_BOUMm, 0.45f);
- m_object->SetGlobalSphere(D3DVECTOR(0.0f, 3.0f, 0.0f), 6.0f);
+ m_object->CreateCrashSphere(Math::Vector(0.0f, 3.0f, 0.0f), 4.5f, SOUND_BOUMm, 0.45f);
+ m_object->SetGlobalSphere(Math::Vector(0.0f, 3.0f, 0.0f), 6.0f);
}
else if ( type == OBJECT_MOBILEdr )
{
- m_object->CreateCrashSphere(D3DVECTOR(0.0f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- m_object->SetGlobalSphere(D3DVECTOR(0.0f, 3.0f, 0.0f), 7.0f);
+ m_object->CreateCrashSphere(Math::Vector(0.0f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ m_object->SetGlobalSphere(Math::Vector(0.0f, 3.0f, 0.0f), 7.0f);
}
else if ( type == OBJECT_APOLLO2 )
{
- m_object->CreateCrashSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 8.0f, SOUND_BOUMm, 0.45f);
+ m_object->CreateCrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 8.0f, SOUND_BOUMm, 0.45f);
}
else
{
- m_object->CreateCrashSphere(D3DVECTOR(0.0f, 3.0f, 0.0f), 4.5f, SOUND_BOUMm, 0.45f);
- m_object->SetGlobalSphere(D3DVECTOR(0.0f, 4.0f, 0.0f), 6.0f);
+ m_object->CreateCrashSphere(Math::Vector(0.0f, 3.0f, 0.0f), 4.5f, SOUND_BOUMm, 0.45f);
+ m_object->SetGlobalSphere(Math::Vector(0.0f, 4.0f, 0.0f), 6.0f);
}
if ( type == OBJECT_MOBILEfa ||
@@ -238,7 +239,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(1, 0);
pModFile->ReadModel("objects\\lem2.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(1, D3DVECTOR(0.0f, 5.3f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(0.0f, 5.3f, 0.0f));
m_object->SetAngleZ(1, ARM_NEUTRAL_ANGLE1);
// Creates the forearm.
@@ -248,7 +249,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(2, 1);
pModFile->ReadModel("objects\\lem3.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(2, D3DVECTOR(5.0f, 0.0f, 0.0f));
+ m_object->SetPosition(2, Math::Vector(5.0f, 0.0f, 0.0f));
m_object->SetAngleZ(2, ARM_NEUTRAL_ANGLE2);
// Creates the hand.
@@ -258,7 +259,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(3, 2);
pModFile->ReadModel("objects\\lem4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(3, D3DVECTOR(3.5f, 0.0f, 0.0f));
+ m_object->SetPosition(3, Math::Vector(3.5f, 0.0f, 0.0f));
m_object->SetAngleZ(3, ARM_NEUTRAL_ANGLE3);
m_object->SetAngleX(3, Math::PI/2.0f);
@@ -269,7 +270,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(4, 3);
pModFile->ReadModel("objects\\lem5.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(4, D3DVECTOR(1.5f, 0.0f, 0.0f));
+ m_object->SetPosition(4, Math::Vector(1.5f, 0.0f, 0.0f));
m_object->SetAngleZ(4, -Math::PI*0.10f);
// Creates the remote clamp.
@@ -279,7 +280,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(5, 3);
pModFile->ReadModel("objects\\lem6.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(5, D3DVECTOR(1.5f, 0.0f, 0.0f));
+ m_object->SetPosition(5, Math::Vector(1.5f, 0.0f, 0.0f));
m_object->SetAngleZ(5, Math::PI*0.10f);
}
@@ -295,7 +296,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(1, 0);
pModFile->ReadModel("objects\\lem2.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(1, D3DVECTOR(0.0f, 5.3f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(0.0f, 5.3f, 0.0f));
m_object->SetAngleZ(1, 110.0f*Math::PI/180.0f);
// Creates the forearm.
@@ -305,7 +306,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(2, 1);
pModFile->ReadModel("objects\\lem3.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(2, D3DVECTOR(5.0f, 0.0f, 0.0f));
+ m_object->SetPosition(2, Math::Vector(5.0f, 0.0f, 0.0f));
m_object->SetAngleZ(2, -110.0f*Math::PI/180.0f);
// Creates the sensor.
@@ -315,7 +316,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(3, 2);
pModFile->ReadModel("objects\\lem4s.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(3, D3DVECTOR(3.5f, 0.0f, 0.0f));
+ m_object->SetPosition(3, Math::Vector(3.5f, 0.0f, 0.0f));
m_object->SetAngleZ(3, -65.0f*Math::PI/180.0f);
}
@@ -331,8 +332,8 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(1, 0);
pModFile->ReadModel("objects\\canon.mod");
pModFile->CreateEngineObject(rank);
-//? m_object->SetPosition(1, D3DVECTOR(0.0f, 5.3f, 0.0f));
- m_object->SetPosition(1, D3DVECTOR(0.0f, 5.3f, 0.0f));
+//? m_object->SetPosition(1, Math::Vector(0.0f, 5.3f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(0.0f, 5.3f, 0.0f));
m_object->SetAngleZ(1, 0.0f);
}
@@ -348,7 +349,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(1, 0);
pModFile->ReadModel("objects\\canoni1.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(1, D3DVECTOR(0.0f, 5.3f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(0.0f, 5.3f, 0.0f));
m_object->SetAngleZ(1, 0.0f);
rank = m_engine->CreateObject();
@@ -357,7 +358,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(2, 1);
pModFile->ReadModel("objects\\canoni2.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(2, D3DVECTOR(0.0f, 2.5f, 0.0f));
+ m_object->SetPosition(2, Math::Vector(0.0f, 2.5f, 0.0f));
m_object->SetAngleZ(2, 0.0f);
}
@@ -374,7 +375,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(6, 0);
pModFile->ReadModel("objects\\lem2w.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(6, D3DVECTOR(-3.0f, 1.0f, -3.0f));
+ m_object->SetPosition(6, Math::Vector(-3.0f, 1.0f, -3.0f));
// Creates the left-back wheel.
rank = m_engine->CreateObject();
@@ -383,7 +384,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(7, 0);
pModFile->ReadModel("objects\\lem2w.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(7, D3DVECTOR(-3.0f, 1.0f, 3.0f));
+ m_object->SetPosition(7, Math::Vector(-3.0f, 1.0f, 3.0f));
m_object->SetAngleY(7, Math::PI);
// Creates the right-front wheel.
@@ -393,7 +394,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(8, 0);
pModFile->ReadModel("objects\\lem2w.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(8, D3DVECTOR(2.0f, 1.0f, -3.0f));
+ m_object->SetPosition(8, Math::Vector(2.0f, 1.0f, -3.0f));
// Creates the left-front wheel.
rank = m_engine->CreateObject();
@@ -402,7 +403,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(9, 0);
pModFile->ReadModel("objects\\lem2w.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(9, D3DVECTOR(2.0f, 1.0f, 3.0f));
+ m_object->SetPosition(9, Math::Vector(2.0f, 1.0f, 3.0f));
m_object->SetAngleY(9, Math::PI);
}
@@ -415,7 +416,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(6, 0);
pModFile->ReadModel("objects\\lem2w.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(6, D3DVECTOR(-2.0f, 1.0f, -3.0f));
+ m_object->SetPosition(6, Math::Vector(-2.0f, 1.0f, -3.0f));
// Creates the left-back wheel.
rank = m_engine->CreateObject();
@@ -424,7 +425,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(7, 0);
pModFile->ReadModel("objects\\lem2w.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(7, D3DVECTOR(-2.0f, 1.0f, 3.0f));
+ m_object->SetPosition(7, Math::Vector(-2.0f, 1.0f, 3.0f));
m_object->SetAngleY(7, Math::PI);
// Creates the right-front wheel.
@@ -434,7 +435,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(8, 0);
pModFile->ReadModel("objects\\lem2w.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(8, D3DVECTOR(3.0f, 1.0f, -3.0f));
+ m_object->SetPosition(8, Math::Vector(3.0f, 1.0f, -3.0f));
// Creates the left-front wheel.
rank = m_engine->CreateObject();
@@ -443,7 +444,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(9, 0);
pModFile->ReadModel("objects\\lem2w.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(9, D3DVECTOR(3.0f, 1.0f, 3.0f));
+ m_object->SetPosition(9, Math::Vector(3.0f, 1.0f, 3.0f));
m_object->SetAngleY(9, Math::PI);
}
@@ -459,7 +460,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(6, 0);
pModFile->ReadModel("objects\\lem2t.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(6, D3DVECTOR(0.0f, 2.0f, -3.0f));
+ m_object->SetPosition(6, Math::Vector(0.0f, 2.0f, -3.0f));
// Creates the left caterpillar.
rank = m_engine->CreateObject();
@@ -468,7 +469,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(7, 0);
pModFile->ReadModel("objects\\lem3t.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(7, D3DVECTOR(0.0f, 2.0f, 3.0f));
+ m_object->SetPosition(7, Math::Vector(0.0f, 2.0f, 3.0f));
}
if ( type == OBJECT_MOBILErt ||
@@ -483,7 +484,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(6, 0);
pModFile->ReadModel("objects\\roller2.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(6, D3DVECTOR(0.0f, 2.0f, -3.0f));
+ m_object->SetPosition(6, Math::Vector(0.0f, 2.0f, -3.0f));
// Creates the left caterpillar.
rank = m_engine->CreateObject();
@@ -492,7 +493,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(7, 0);
pModFile->ReadModel("objects\\roller3.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(7, D3DVECTOR(0.0f, 2.0f, 3.0f));
+ m_object->SetPosition(7, Math::Vector(0.0f, 2.0f, 3.0f));
}
if ( type == OBJECT_MOBILEsa ) // underwater caterpillars?
@@ -504,7 +505,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(6, 0);
pModFile->ReadModel("objects\\subm4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(6, D3DVECTOR(0.0f, 1.0f, -3.0f));
+ m_object->SetPosition(6, Math::Vector(0.0f, 1.0f, -3.0f));
// Creates the left caterpillar.
rank = m_engine->CreateObject();
@@ -513,7 +514,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(7, 0);
pModFile->ReadModel("objects\\subm5.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(7, D3DVECTOR(0.0f, 1.0f, 3.0f));
+ m_object->SetPosition(7, Math::Vector(0.0f, 1.0f, 3.0f));
}
if ( type == OBJECT_MOBILEdr ) // caterpillars?
@@ -525,7 +526,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(6, 0);
pModFile->ReadModel("objects\\drawer2.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(6, D3DVECTOR(0.0f, 1.0f, -3.0f));
+ m_object->SetPosition(6, Math::Vector(0.0f, 1.0f, -3.0f));
// Creates the left caterpillar.
rank = m_engine->CreateObject();
@@ -534,7 +535,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(7, 0);
pModFile->ReadModel("objects\\drawer3.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(7, D3DVECTOR(0.0f, 1.0f, 3.0f));
+ m_object->SetPosition(7, Math::Vector(0.0f, 1.0f, 3.0f));
}
if ( type == OBJECT_MOBILEfa ||
@@ -550,7 +551,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(6, 0);
pModFile->ReadModel("objects\\lem2f.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(6, D3DVECTOR(1.7f, 3.0f, 0.0f));
+ m_object->SetPosition(6, Math::Vector(1.7f, 3.0f, 0.0f));
// Creates the right-back foot.
rank = m_engine->CreateObject();
@@ -559,7 +560,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(7, 0);
pModFile->ReadModel("objects\\lem2f.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(7, D3DVECTOR(-1.8f, 3.0f, -1.5f));
+ m_object->SetPosition(7, Math::Vector(-1.8f, 3.0f, -1.5f));
m_object->SetAngleY(7, 120.0f*Math::PI/180.0f);
// Creates the left-back foot.
@@ -569,7 +570,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(8, 0);
pModFile->ReadModel("objects\\lem2f.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(8, D3DVECTOR(-1.8f, 3.0f, 1.5f));
+ m_object->SetPosition(8, Math::Vector(-1.8f, 3.0f, 1.5f));
m_object->SetAngleY(8, -120.0f*Math::PI/180.0f);
}
@@ -641,7 +642,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(1, 0);
pModFile->ReadModel("objects\\roller2t.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(1, D3DVECTOR(0.0f, 0.0f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(0.0f, 0.0f, 0.0f));
m_object->SetAngleZ(1, 0.0f);
// Creates the pestle.
@@ -651,7 +652,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(2, 0);
pModFile->ReadModel("objects\\roller3t.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(2, D3DVECTOR(9.0f, 4.0f, 0.0f));
+ m_object->SetPosition(2, Math::Vector(9.0f, 4.0f, 0.0f));
m_object->SetAngleZ(2, 0.0f);
}
@@ -664,7 +665,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(1, 0);
pModFile->ReadModel("objects\\roller2c.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(1, D3DVECTOR(3.0f, 4.6f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(3.0f, 4.6f, 0.0f));
m_object->SetAngleZ(1, Math::PI/8.0f);
// Creates the cannon.
@@ -674,7 +675,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(2, 0);
pModFile->ReadModel("objects\\roller3p.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(2, D3DVECTOR(7.0f, 6.5f, 0.0f));
+ m_object->SetPosition(2, Math::Vector(7.0f, 6.5f, 0.0f));
m_object->SetAngleZ(2, 0.0f);
}
@@ -687,7 +688,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(1, 0);
pModFile->ReadModel("objects\\recover1.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(1, D3DVECTOR(2.0f, 5.0f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(2.0f, 5.0f, 0.0f));
// Creates the right arm.
rank = m_engine->CreateObject();
@@ -696,7 +697,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(2, 1);
pModFile->ReadModel("objects\\recover2.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(2, D3DVECTOR(0.1f, 0.0f, -5.0f));
+ m_object->SetPosition(2, Math::Vector(0.1f, 0.0f, -5.0f));
m_object->SetAngleZ(2, 126.0f*Math::PI/180.0f);
// Creates the right forearm.
@@ -706,7 +707,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(3, 2);
pModFile->ReadModel("objects\\recover3.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(3, D3DVECTOR(5.0f, 0.0f, -0.5f));
+ m_object->SetPosition(3, Math::Vector(5.0f, 0.0f, -0.5f));
m_object->SetAngleZ(3, -144.0f*Math::PI/180.0f);
// Creates the left arm.
@@ -717,7 +718,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\recover2.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(4, D3DVECTOR(0.1f, 0.0f, 5.0f));
+ m_object->SetPosition(4, Math::Vector(0.1f, 0.0f, 5.0f));
m_object->SetAngleZ(4, 126.0f*Math::PI/180.0f);
// Creates the left forearm.
@@ -728,7 +729,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\recover3.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(5, D3DVECTOR(5.0f, 0.0f, 0.5f));
+ m_object->SetPosition(5, Math::Vector(5.0f, 0.0f, 0.5f));
m_object->SetAngleZ(5, -144.0f*Math::PI/180.0f);
}
@@ -741,7 +742,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(1, 0);
pModFile->ReadModel("objects\\roller2s.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(1, D3DVECTOR(0.0f, 0.0f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(0.0f, 0.0f, 0.0f));
m_object->SetAngleZ(1, 0.0f);
// Creates the intermediate piston.
@@ -751,7 +752,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(2, 1);
pModFile->ReadModel("objects\\roller3s.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(2, D3DVECTOR(7.0f, 4.5f, 0.0f));
+ m_object->SetPosition(2, Math::Vector(7.0f, 4.5f, 0.0f));
m_object->SetAngleZ(2, 0.0f);
// Creates the piston with the sphere.
@@ -761,7 +762,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(3, 2);
pModFile->ReadModel("objects\\roller4s.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(3, D3DVECTOR(0.0f, 1.0f, 0.0f));
+ m_object->SetPosition(3, Math::Vector(0.0f, 1.0f, 0.0f));
m_object->SetAngleZ(3, 0.0f);
}
@@ -774,7 +775,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(1, 0);
pModFile->ReadModel("objects\\subm2.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(1, D3DVECTOR(4.2f, 3.0f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(4.2f, 3.0f, 0.0f));
// Creates the right tong.
rank = m_engine->CreateObject();
@@ -783,7 +784,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(2, 1);
pModFile->ReadModel("objects\\subm3.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(2, D3DVECTOR(0.5f, 0.0f, -1.5f));
+ m_object->SetPosition(2, Math::Vector(0.5f, 0.0f, -1.5f));
// Creates the left tong.
rank = m_engine->CreateObject();
@@ -793,7 +794,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->ReadModel("objects\\subm3.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(3, D3DVECTOR(0.5f, 0.0f, 1.5f));
+ m_object->SetPosition(3, Math::Vector(0.5f, 0.0f, 1.5f));
}
if ( type == OBJECT_MOBILEdr )
@@ -805,7 +806,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(1, 0);
pModFile->ReadModel("objects\\drawer4.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(1, D3DVECTOR(-3.0f, 3.0f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(-3.0f, 3.0f, 0.0f));
// Creates the key.
if ( m_object->RetToy() )
@@ -816,7 +817,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(2, 0);
pModFile->ReadModel("objects\\drawer5.mod");
pModFile->CreateEngineObject(rank);
- m_posKey = D3DVECTOR(3.0f, 5.7f, 0.0f);
+ m_posKey = Math::Vector(3.0f, 5.7f, 0.0f);
m_object->SetPosition(2, m_posKey);
m_object->SetAngleY(2, 90.0f*Math::PI/180.0f);
}
@@ -831,7 +832,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
sprintf(name, "objects\\drawer%d.mod", 10+i);
pModFile->ReadModel(name);
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(10+i, D3DVECTOR(0.0f, 0.0f, 0.0f));
+ m_object->SetPosition(10+i, Math::Vector(0.0f, 0.0f, 0.0f));
m_object->SetAngleY(10+i, 45.0f*Math::PI/180.0f*i);
}
}
@@ -847,7 +848,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(2, 0);
pModFile->ReadModel("objects\\drawer5.mod");
pModFile->CreateEngineObject(rank);
- m_posKey = D3DVECTOR(0.2f, 4.1f, 0.0f);
+ m_posKey = Math::Vector(0.2f, 4.1f, 0.0f);
m_object->SetPosition(2, m_posKey);
m_object->SetAngleY(2, 90.0f*Math::PI/180.0f);
}
@@ -862,7 +863,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(1, 0);
pModFile->ReadModel("objects\\apolloj2.mod"); // antenna
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(1, D3DVECTOR(5.5f, 8.8f, 2.0f));
+ m_object->SetPosition(1, Math::Vector(5.5f, 8.8f, 2.0f));
m_object->SetAngleY(1, -120.0f*Math::PI/180.0f);
m_object->SetAngleZ(1, 45.0f*Math::PI/180.0f);
@@ -872,7 +873,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(2, 0);
pModFile->ReadModel("objects\\apolloj3.mod"); // camera
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(2, D3DVECTOR(5.5f, 2.8f, -2.0f));
+ m_object->SetPosition(2, Math::Vector(5.5f, 2.8f, -2.0f));
m_object->SetAngleY(2, 30.0f*Math::PI/180.0f);
// Creates the wheels.
@@ -882,7 +883,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(6, 0);
pModFile->ReadModel("objects\\apolloj4.mod"); // wheel
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(6, D3DVECTOR(-5.75f, 1.65f, -5.0f));
+ m_object->SetPosition(6, Math::Vector(-5.75f, 1.65f, -5.0f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -890,7 +891,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(7, 0);
pModFile->ReadModel("objects\\apolloj4.mod"); // wheel
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(7, D3DVECTOR(-5.75f, 1.65f, 5.0f));
+ m_object->SetPosition(7, Math::Vector(-5.75f, 1.65f, 5.0f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -898,7 +899,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(8, 0);
pModFile->ReadModel("objects\\apolloj4.mod"); // wheel
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(8, D3DVECTOR(5.75f, 1.65f, -5.0f));
+ m_object->SetPosition(8, Math::Vector(5.75f, 1.65f, -5.0f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -906,7 +907,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(9, 0);
pModFile->ReadModel("objects\\apolloj4.mod"); // wheel
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(9, D3DVECTOR(5.75f, 1.65f, 5.00f));
+ m_object->SetPosition(9, Math::Vector(5.75f, 1.65f, 5.00f));
// Creates mud guards.
rank = m_engine->CreateObject();
@@ -915,7 +916,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(10, 0);
pModFile->ReadModel("objects\\apolloj6.mod"); // wheel
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(10, D3DVECTOR(-5.75f, 1.65f, -5.0f));
+ m_object->SetPosition(10, Math::Vector(-5.75f, 1.65f, -5.0f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -923,7 +924,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(11, 0);
pModFile->ReadModel("objects\\apolloj6.mod"); // wheel
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(11, D3DVECTOR(-5.75f, 1.65f, 5.0f));
+ m_object->SetPosition(11, Math::Vector(-5.75f, 1.65f, 5.0f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -931,7 +932,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(12, 0);
pModFile->ReadModel("objects\\apolloj5.mod"); // wheel
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(12, D3DVECTOR(5.75f, 1.65f, -5.0f));
+ m_object->SetPosition(12, Math::Vector(5.75f, 1.65f, -5.0f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -939,7 +940,7 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(13, 0);
pModFile->ReadModel("objects\\apolloj5.mod"); // wheel
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(13, D3DVECTOR(5.75f, 1.65f, 5.00f));
+ m_object->SetPosition(13, Math::Vector(5.75f, 1.65f, 5.00f));
}
#if 1
@@ -1054,8 +1055,8 @@ bool CMotionVehicle::Create(D3DVECTOR pos, float angle, ObjectType type,
pModFile->CreateEngineObject(rank);
pPower->SetPosition(0, m_object->RetCharacter()->posPower);
- pPower->CreateCrashSphere(D3DVECTOR(0.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- pPower->SetGlobalSphere(D3DVECTOR(0.0f, 1.0f, 0.0f), 1.5f);
+ pPower->CreateCrashSphere(Math::Vector(0.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ pPower->SetGlobalSphere(Math::Vector(0.0f, 1.0f, 0.0f), 1.5f);
pPower->SetTruck(m_object);
m_object->SetPower(pPower);
@@ -1093,7 +1094,7 @@ void CMotionVehicle::CreatePhysics(ObjectType type)
character->wheelBack = 4.0f;
character->wheelLeft = 4.0f;
character->wheelRight = 4.0f;
- character->posPower = D3DVECTOR(-3.2f, 3.0f, 0.0f);
+ character->posPower = Math::Vector(-3.2f, 3.0f, 0.0f);
m_physics->SetLinMotionX(MO_ADVSPEED, 20.0f);
m_physics->SetLinMotionX(MO_RECSPEED, 10.0f);
@@ -1121,7 +1122,7 @@ void CMotionVehicle::CreatePhysics(ObjectType type)
character->wheelBack = 3.0f;
character->wheelLeft = 4.0f;
character->wheelRight = 4.0f;
- character->posPower = D3DVECTOR(-3.2f, 3.0f, 0.0f);
+ character->posPower = Math::Vector(-3.2f, 3.0f, 0.0f);
m_physics->SetLinMotionX(MO_ADVSPEED, 20.0f);
m_physics->SetLinMotionX(MO_RECSPEED, 10.0f);
@@ -1152,7 +1153,7 @@ void CMotionVehicle::CreatePhysics(ObjectType type)
character->wheelBack = 4.0f;
character->wheelLeft = 4.8f;
character->wheelRight = 4.8f;
- character->posPower = D3DVECTOR(-3.2f, 3.0f, 0.0f);
+ character->posPower = Math::Vector(-3.2f, 3.0f, 0.0f);
m_physics->SetLinMotionX(MO_ADVSPEED, 15.0f);
m_physics->SetLinMotionX(MO_RECSPEED, 8.0f);
@@ -1183,7 +1184,7 @@ void CMotionVehicle::CreatePhysics(ObjectType type)
character->wheelBack = 4.0f;
character->wheelLeft = 5.0f;
character->wheelRight = 5.0f;
- character->posPower = D3DVECTOR(-3.2f, 3.0f, 0.0f);
+ character->posPower = Math::Vector(-3.2f, 3.0f, 0.0f);
m_physics->SetLinMotionX(MO_ADVSPEED, 15.0f);
m_physics->SetLinMotionX(MO_RECSPEED, 8.0f);
@@ -1216,7 +1217,7 @@ void CMotionVehicle::CreatePhysics(ObjectType type)
character->wheelBack = 4.0f;
character->wheelLeft = 4.5f;
character->wheelRight = 4.5f;
- character->posPower = D3DVECTOR(-3.2f, 3.0f, 0.0f);
+ character->posPower = Math::Vector(-3.2f, 3.0f, 0.0f);
m_physics->SetLinMotionX(MO_ADVSPEED, 50.0f);
m_physics->SetLinMotionX(MO_RECSPEED, 50.0f);
@@ -1252,7 +1253,7 @@ void CMotionVehicle::CreatePhysics(ObjectType type)
character->wheelBack = 5.0f;
character->wheelLeft = 6.0f;
character->wheelRight = 6.0f;
- character->posPower = D3DVECTOR(-5.8f, 4.0f, 0.0f);
+ character->posPower = Math::Vector(-5.8f, 4.0f, 0.0f);
m_physics->SetLinMotionX(MO_ADVSPEED, 10.0f);
m_physics->SetLinMotionX(MO_RECSPEED, 5.0f);
@@ -1280,7 +1281,7 @@ void CMotionVehicle::CreatePhysics(ObjectType type)
character->wheelBack = 4.0f;
character->wheelLeft = 4.0f;
character->wheelRight = 4.0f;
- character->posPower = D3DVECTOR(-5.0f, 3.0f, 0.0f);
+ character->posPower = Math::Vector(-5.0f, 3.0f, 0.0f);
m_physics->SetLinMotionX(MO_ADVSPEED, 15.0f);
m_physics->SetLinMotionX(MO_RECSPEED, 10.0f);
@@ -1308,7 +1309,7 @@ void CMotionVehicle::CreatePhysics(ObjectType type)
character->wheelBack = 4.0f;
character->wheelLeft = 4.0f;
character->wheelRight = 4.0f;
- character->posPower = D3DVECTOR(-5.0f, 3.0f, 0.0f);
+ character->posPower = Math::Vector(-5.0f, 3.0f, 0.0f);
m_physics->SetLinMotionX(MO_ADVSPEED, 15.0f);
m_physics->SetLinMotionX(MO_RECSPEED, 10.0f);
@@ -1379,9 +1380,9 @@ bool CMotionVehicle::EventProcess(const Event &event)
bool CMotionVehicle::EventFrame(const Event &event)
{
- D3DMATRIX* mat;
+ Math::Matrix* mat;
Character* character;
- D3DVECTOR pos, angle, floor;
+ Math::Vector pos, angle, floor;
ObjectType type;
float s, a, speedBL, speedBR, speedFL, speedFR, h, a1, a2;
float back, front, dist, radius, limit[2];
@@ -1482,7 +1483,7 @@ bool CMotionVehicle::EventFrame(const Event &event)
radius = 1.0f;
}
- if ( Length(pos, m_engine->RetEyePt()) < 50.0f ) // suspension?
+ if ( Math::Distance(pos, m_engine->RetEyePt()) < 50.0f ) // suspension?
{
character = m_object->RetCharacter();
mat = m_object->RetWorldMatrix(0);
@@ -1490,7 +1491,7 @@ bool CMotionVehicle::EventFrame(const Event &event)
pos.x = -character->wheelBack; // right back wheel
pos.z = -character->wheelRight;
pos.y = 0.0f;
- pos = Transform(*mat, pos);
+ pos = Math::Transform(*mat, pos);
h = m_terrain->RetFloorHeight(pos);
if ( h > 0.5f ) h = 0.5f;
if ( h < -0.5f ) h = -0.5f;
@@ -1503,7 +1504,7 @@ bool CMotionVehicle::EventFrame(const Event &event)
pos.x = -character->wheelBack; // left back wheel
pos.z = character->wheelLeft;
pos.y = 0.0f;
- pos = Transform(*mat, pos);
+ pos = Math::Transform(*mat, pos);
h = m_terrain->RetFloorHeight(pos);
if ( h > 0.5f ) h = 0.5f;
if ( h < -0.5f ) h = -0.5f;
@@ -1516,7 +1517,7 @@ bool CMotionVehicle::EventFrame(const Event &event)
pos.x = character->wheelFront; // right front wheel
pos.z = -character->wheelRight;
pos.y = 0.0f;
- pos = Transform(*mat, pos);
+ pos = Math::Transform(*mat, pos);
h = m_terrain->RetFloorHeight(pos);
if ( h > 0.5f ) h = 0.5f;
if ( h < -0.5f ) h = -0.5f;
@@ -1529,7 +1530,7 @@ bool CMotionVehicle::EventFrame(const Event &event)
pos.x = character->wheelFront; // left front wheel
pos.z = character->wheelLeft;
pos.y = 0.0f;
- pos = Transform(*mat, pos);
+ pos = Math::Transform(*mat, pos);
h = m_terrain->RetFloorHeight(pos);
if ( h > 0.5f ) h = 0.5f;
if ( h < -0.5f ) h = -0.5f;
@@ -1541,17 +1542,17 @@ bool CMotionVehicle::EventFrame(const Event &event)
}
else
{
- m_object->SetPosition(6, D3DVECTOR(back, radius, -dist));
- m_object->SetPosition(7, D3DVECTOR(back, radius, dist));
- m_object->SetPosition(8, D3DVECTOR(front, radius, -dist));
- m_object->SetPosition(9, D3DVECTOR(front, radius, dist));
+ m_object->SetPosition(6, Math::Vector(back, radius, -dist));
+ m_object->SetPosition(7, Math::Vector(back, radius, dist));
+ m_object->SetPosition(8, Math::Vector(front, radius, -dist));
+ m_object->SetPosition(9, Math::Vector(front, radius, dist));
if ( type == OBJECT_APOLLO2 )
{
- m_object->SetPosition(10, D3DVECTOR(back, radius, -dist));
- m_object->SetPosition(11, D3DVECTOR(back, radius, dist));
- m_object->SetPosition(12, D3DVECTOR(front, radius, -dist));
- m_object->SetPosition(13, D3DVECTOR(front, radius, dist));
+ m_object->SetPosition(10, Math::Vector(back, radius, -dist));
+ m_object->SetPosition(11, Math::Vector(back, radius, dist));
+ m_object->SetPosition(12, Math::Vector(front, radius, -dist));
+ m_object->SetPosition(13, Math::Vector(front, radius, dist));
}
}
}
@@ -1612,7 +1613,7 @@ bool CMotionVehicle::EventFrame(const Event &event)
limit[1] = -10.0f*Math::PI/180.0f;
}
- if ( Length(pos, m_engine->RetEyePt()) < 50.0f ) // suspension?
+ if ( Math::Distance(pos, m_engine->RetEyePt()) < 50.0f ) // suspension?
{
character = m_object->RetCharacter();
mat = m_object->RetWorldMatrix(0);
@@ -1707,8 +1708,8 @@ bool CMotionVehicle::EventFrame(const Event &event)
bool CMotionVehicle::EventFrameFly(const Event &event)
{
- D3DMATRIX* mat;
- D3DVECTOR pos, angle, paw[3];
+ Math::Matrix* mat;
+ Math::Vector pos, angle, paw[3];
float hope[3], actual, final, h, a;
int i;
@@ -1728,9 +1729,9 @@ bool CMotionVehicle::EventFrameFly(const Event &event)
if ( m_physics->RetLand() ) // on the ground?
{
mat = m_object->RetWorldMatrix(0);
- paw[0] = Transform(*mat, D3DVECTOR( 4.2f, 0.0f, 0.0f)); // front
- paw[1] = Transform(*mat, D3DVECTOR(-3.0f, 0.0f, -3.7f)); // right back
- paw[2] = Transform(*mat, D3DVECTOR(-3.0f, 0.0f, 3.7f)); // left back
+ 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
for ( i=0 ; i<3 ; i++ )
{
@@ -1767,7 +1768,7 @@ bool CMotionVehicle::EventFrameFly(const Event &event)
bool CMotionVehicle::EventFrameInsect(const Event &event)
{
- D3DVECTOR dir;
+ Math::Vector dir;
float s, a, prog, time;
int i, st, nd, action;
bool bStop, bOnBoard;
@@ -1920,7 +1921,7 @@ bool CMotionVehicle::EventFrameInsect(const Event &event)
bool CMotionVehicle::EventFrameCanoni(const Event &event)
{
CObject* power;
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim;
float zoom, angle, energy, factor;
bool bOnBoard = false;
diff --git a/src/object/motion/motionvehicle.h b/src/object/motion/motionvehicle.h
index b9ac0c9..8bc4dd2 100644
--- a/src/object/motion/motionvehicle.h
+++ b/src/object/motion/motionvehicle.h
@@ -40,7 +40,7 @@ public:
~CMotionVehicle();
void DeleteObject(bool bAll=false);
- bool Create(D3DVECTOR pos, float angle, ObjectType type, float power);
+ bool Create(Math::Vector pos, float angle, ObjectType type, float power);
bool EventProcess(const Event &event);
bool RetTraceDown();
@@ -68,9 +68,9 @@ protected:
float m_armMember;
float m_canonTime;
float m_lastTimeCanon;
- D3DVECTOR m_wheelLastPos;
- D3DVECTOR m_wheelLastAngle;
- D3DVECTOR m_posKey;
+ Math::Vector m_wheelLastPos;
+ Math::Vector m_wheelLastAngle;
+ Math::Vector m_posKey;
bool m_bFlyFix;
bool m_bTraceDown;
int m_traceColor;
diff --git a/src/object/motion/motionworm.cpp b/src/object/motion/motionworm.cpp
index ab3f946..0918a0f 100644
--- a/src/object/motion/motionworm.cpp
+++ b/src/object/motion/motionworm.cpp
@@ -87,7 +87,7 @@ void CMotionWorm::DeleteObject(bool bAll)
// Creates a vehicle traveling any lands on the ground.
-bool CMotionWorm::Create(D3DVECTOR pos, float angle, ObjectType type,
+bool CMotionWorm::Create(Math::Vector pos, float angle, ObjectType type,
float power)
{
CModFile* pModFile;
@@ -110,8 +110,8 @@ bool CMotionWorm::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetAngleY(0, angle);
// A vehicle must have a obligatory collision with a sphere of center (0, y, 0) (see GetCrashSphere).
- m_object->CreateCrashSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 4.0f, SOUND_BOUM, 0.20f);
- m_object->SetGlobalSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 5.0f);
+ m_object->CreateCrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 4.0f, SOUND_BOUM, 0.20f);
+ m_object->SetGlobalSphere(Math::Vector(0.0f, 0.0f, 0.0f), 5.0f);
px = 1.0f+WORM_PART/2;
@@ -122,7 +122,7 @@ bool CMotionWorm::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(1, 0);
pModFile->ReadModel("objects\\worm1.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(1, D3DVECTOR(px, 0.0f, 0.0f));
+ m_object->SetPosition(1, Math::Vector(px, 0.0f, 0.0f));
px -= 1.0f;
// Creates the body.
@@ -134,7 +134,7 @@ bool CMotionWorm::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(2+i, 0);
pModFile->ReadModel("objects\\worm2.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(2+i, D3DVECTOR(px, 0.0f, 0.0f));
+ m_object->SetPosition(2+i, Math::Vector(px, 0.0f, 0.0f));
px -= 1.0f;
}
@@ -145,7 +145,7 @@ bool CMotionWorm::Create(D3DVECTOR pos, float angle, ObjectType type,
m_object->SetObjectParent(2+WORM_PART, 0);
pModFile->ReadModel("objects\\worm3.mod");
pModFile->CreateEngineObject(rank);
- m_object->SetPosition(2+WORM_PART, D3DVECTOR(px, 0.0f, 0.0f));
+ m_object->SetPosition(2+WORM_PART, Math::Vector(px, 0.0f, 0.0f));
m_object->CreateShadowCircle(0.0f, 1.0f, D3DSHADOWWORM);
@@ -246,8 +246,8 @@ bool CMotionWorm::EventProcess(const Event &event)
bool CMotionWorm::EventFrame(const Event &event)
{
- D3DMATRIX* mat;
- D3DVECTOR pos, p, angle, speed;
+ Math::Matrix* mat;
+ Math::Vector pos, p, angle, speed;
Math::Point center, pp, dim;
float height[WORM_PART+2];
float floor, a, s, px, curve, phase, h, zoom, radius;
@@ -346,7 +346,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 = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = Math::Rand()*2.0f+1.5f;
dim.y = dim.x;
m_particule->CreateParticule(pos, speed, dim, PARTICRASH, 2.0f);
@@ -360,7 +360,7 @@ bool CMotionWorm::EventFrame(const Event &event)
pos = m_object->RetPosition(i+2);
pos -= m_object->RetPosition(i+1);
- angle.z = -Math::RotateAngle(Length(pos.x, pos.z), pos.y);
+ angle.z = -Math::RotateAngle(Math::Point(pos.x, pos.z).Length(), pos.y);
angle.y = Math::PI-Math::RotateAngle(pos.x, pos.z);
angle.x = 0.0f;
m_object->SetAngle(i+1, angle);
diff --git a/src/object/motion/motionworm.h b/src/object/motion/motionworm.h
index 6dca520..687435e 100644
--- a/src/object/motion/motionworm.h
+++ b/src/object/motion/motionworm.h
@@ -40,7 +40,7 @@ public:
~CMotionWorm();
void DeleteObject(bool bAll=false);
- bool Create(D3DVECTOR pos, float angle, ObjectType type, float power);
+ bool Create(Math::Vector pos, float angle, ObjectType type, float power);
bool EventProcess(const Event &event);
bool SetParam(int rank, float value);
diff --git a/src/object/object.cpp b/src/object/object.cpp
index 130bf3b..360224e 100644
--- a/src/object/object.cpp
+++ b/src/object/object.cpp
@@ -34,7 +34,7 @@
#include "common/iman.h"
#include "common/restext.h"
#include "math/old/math3d.h"
-#include "graphics/common/mainmovie.h"
+#include "object/mainmovie.h"
#include "object/robotmain.h"
#include "graphics/common/light.h"
#include "graphics/common/terrain.h"
@@ -122,7 +122,7 @@ void uObject(CBotVar* botThis, void* user)
CPhysics* physics;
CBotVar *pVar, *pSub;
ObjectType type;
- D3DVECTOR pos;
+ Math::Vector pos;
float value;
int iValue;
@@ -247,9 +247,9 @@ CObject::CObject(CInstanceManager* iMan)
m_partiReactor = -1;
m_shadowLight = -1;
m_effectLight = -1;
- m_linVibration = D3DVECTOR(0.0f, 0.0f, 0.0f);
- m_cirVibration = D3DVECTOR(0.0f, 0.0f, 0.0f);
- m_inclinaison = D3DVECTOR(0.0f, 0.0f, 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_lastParticule = 0.0f;
m_power = 0;
@@ -305,8 +305,8 @@ CObject::CObject(CInstanceManager* iMan)
m_resetCap = RESET_NONE;
m_bResetBusy = false;
- m_resetPosition = D3DVECTOR(0.0f, 0.0f, 0.0f);
- m_resetAngle = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ m_resetPosition = Math::Vector(0.0f, 0.0f, 0.0f);
+ m_resetAngle = Math::Vector(0.0f, 0.0f, 0.0f);
m_resetRun = -1;
m_cameraType = CAMERA_BACK;
@@ -334,9 +334,9 @@ CObject::CObject(CInstanceManager* iMan)
}
FlushCrashShere();
- m_globalSpherePos = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ m_globalSpherePos = Math::Vector(0.0f, 0.0f, 0.0f);
m_globalSphereRadius = 0.0f;
- m_jotlerSpherePos = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ m_jotlerSpherePos = Math::Vector(0.0f, 0.0f, 0.0f);
m_jotlerSphereRadius = 0.0f;
CBotClass* bc = CBotClass::Find("object");
@@ -811,20 +811,20 @@ void CObject::InitPart(int part)
m_objectPart[part].object = -1;
m_objectPart[part].parentPart = -1;
- m_objectPart[part].position = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ m_objectPart[part].position = Math::Vector(0.0f, 0.0f, 0.0f);
m_objectPart[part].angle.y = 0.0f;
m_objectPart[part].angle.x = 0.0f;
m_objectPart[part].angle.z = 0.0f;
- m_objectPart[part].zoom = D3DVECTOR(1.0f, 1.0f, 1.0f);
+ m_objectPart[part].zoom = Math::Vector(1.0f, 1.0f, 1.0f);
m_objectPart[part].bTranslate = true;
m_objectPart[part].bRotate = true;
m_objectPart[part].bZoom = false;
- D3DUtil_SetIdentityMatrix(m_objectPart[part].matTranslate);
- D3DUtil_SetIdentityMatrix(m_objectPart[part].matRotate);
- D3DUtil_SetIdentityMatrix(m_objectPart[part].matTransform);
- D3DUtil_SetIdentityMatrix(m_objectPart[part].matWorld);
+ m_objectPart[part].matTranslate.LoadIdentity();
+ m_objectPart[part].matRotate.LoadIdentity();
+ m_objectPart[part].matTransform.LoadIdentity();
+ m_objectPart[part].matWorld.LoadIdentity();;
m_objectPart[part].masterParti = -1;
}
@@ -990,7 +990,7 @@ int CObject::RetID()
bool CObject::Write(char *line)
{
- D3DVECTOR pos;
+ Math::Vector pos;
Info info;
char name[100];
float value;
@@ -1168,7 +1168,7 @@ bool CObject::Write(char *line)
bool CObject::Read(char *line)
{
- D3DVECTOR pos, dir;
+ Math::Vector pos, dir;
Info info;
CameraType cType;
char op[20];
@@ -1284,7 +1284,7 @@ void CObject::FlushCrashShere()
// Adds a new sphere.
-int CObject::CreateCrashSphere(D3DVECTOR pos, float radius, Sound sound,
+int CObject::CreateCrashSphere(Math::Vector pos, float radius, Sound sound,
float hardness)
{
float zoom;
@@ -1309,7 +1309,7 @@ int CObject::RetCrashSphereTotal()
// Returns a sphere for collisions.
// The position is absolute in the world.
-bool CObject::GetCrashSphere(int rank, D3DVECTOR &pos, float &radius)
+bool CObject::GetCrashSphere(int rank, Math::Vector &pos, float &radius)
{
if ( rank < 0 || rank >= m_crashSphereUsed )
{
@@ -1337,7 +1337,7 @@ bool CObject::GetCrashSphere(int rank, D3DVECTOR &pos, float &radius)
{
UpdateTransformObject();
}
- pos = Transform(m_objectPart[0].matWorld, m_crashSpherePos[rank]);
+ pos = Math::Transform(m_objectPart[0].matWorld, m_crashSpherePos[rank]);
radius = m_crashSphereRadius[rank];
return true;
}
@@ -1374,7 +1374,7 @@ void CObject::DeleteCrashSphere(int rank)
// Specifies the global sphere, relative to the object.
-void CObject::SetGlobalSphere(D3DVECTOR pos, float radius)
+void CObject::SetGlobalSphere(Math::Vector pos, float radius)
{
float zoom;
@@ -1385,16 +1385,16 @@ void CObject::SetGlobalSphere(D3DVECTOR pos, float radius)
// Returns the global sphere, in the world.
-void CObject::GetGlobalSphere(D3DVECTOR &pos, float &radius)
+void CObject::GetGlobalSphere(Math::Vector &pos, float &radius)
{
- pos = Transform(m_objectPart[0].matWorld, m_globalSpherePos);
+ pos = Math::Transform(m_objectPart[0].matWorld, m_globalSpherePos);
radius = m_globalSphereRadius;
}
// Specifies the sphere of jostling, relative to the object.
-void CObject::SetJotlerSphere(D3DVECTOR pos, float radius)
+void CObject::SetJotlerSphere(Math::Vector pos, float radius)
{
m_jotlerSpherePos = pos;
m_jotlerSphereRadius = radius;
@@ -1402,9 +1402,9 @@ void CObject::SetJotlerSphere(D3DVECTOR pos, float radius)
// Specifies the sphere of jostling, in the world.
-void CObject::GetJotlerSphere(D3DVECTOR &pos, float &radius)
+void CObject::GetJotlerSphere(Math::Vector &pos, float &radius)
{
- pos = Transform(m_objectPart[0].matWorld, m_jotlerSpherePos);
+ pos = Math::Transform(m_objectPart[0].matWorld, m_jotlerSpherePos);
radius = m_jotlerSphereRadius;
}
@@ -1428,7 +1428,7 @@ float CObject::RetShieldRadius()
void CObject::SetFloorHeight(float height)
{
- D3DVECTOR pos;
+ Math::Vector pos;
pos = m_objectPart[0].position;
m_terrain->MoveOnFloor(pos);
@@ -1447,7 +1447,7 @@ void CObject::SetFloorHeight(float height)
void CObject::FloorAdjust()
{
- D3DVECTOR pos, n;
+ Math::Vector pos, n;
Math::Point nn;
float a;
@@ -1470,7 +1470,7 @@ void CObject::FloorAdjust()
// Gives the linear vibration.
-void CObject::SetLinVibration(D3DVECTOR dir)
+void CObject::SetLinVibration(Math::Vector dir)
{
if ( m_linVibration.x != dir.x ||
m_linVibration.y != dir.y ||
@@ -1481,14 +1481,14 @@ void CObject::SetLinVibration(D3DVECTOR dir)
}
}
-D3DVECTOR CObject::RetLinVibration()
+Math::Vector CObject::RetLinVibration()
{
return m_linVibration;
}
// Gives the circular vibration.
-void CObject::SetCirVibration(D3DVECTOR dir)
+void CObject::SetCirVibration(Math::Vector dir)
{
if ( m_cirVibration.x != dir.x ||
m_cirVibration.y != dir.y ||
@@ -1499,14 +1499,14 @@ void CObject::SetCirVibration(D3DVECTOR dir)
}
}
-D3DVECTOR CObject::RetCirVibration()
+Math::Vector CObject::RetCirVibration()
{
return m_cirVibration;
}
// Gives the inclination.
-void CObject::SetInclinaison(D3DVECTOR dir)
+void CObject::SetInclinaison(Math::Vector dir)
{
if ( m_inclinaison.x != dir.x ||
m_inclinaison.y != dir.y ||
@@ -1517,7 +1517,7 @@ void CObject::SetInclinaison(D3DVECTOR dir)
}
}
-D3DVECTOR CObject::RetInclinaison()
+Math::Vector CObject::RetInclinaison()
{
return m_inclinaison;
}
@@ -1525,9 +1525,9 @@ D3DVECTOR CObject::RetInclinaison()
// Gives the position of center of the object.
-void CObject::SetPosition(int part, const D3DVECTOR &pos)
+void CObject::SetPosition(int part, const Math::Vector &pos)
{
- D3DVECTOR shPos, n[20], norm;
+ Math::Vector shPos, n[20], norm;
float height, radius;
int rank, i, j;
@@ -1614,7 +1614,7 @@ void CObject::SetPosition(int part, const D3DVECTOR &pos)
m_terrain->GetNormal(norm, shPos);
n[i++] = norm;
- norm = 0.0f;
+ norm.LoadZero();
for ( j=0 ; j<i ; j++ )
{
norm += n[j];
@@ -1644,14 +1644,14 @@ void CObject::SetPosition(int part, const D3DVECTOR &pos)
}
}
-D3DVECTOR CObject::RetPosition(int part)
+Math::Vector CObject::RetPosition(int part)
{
return m_objectPart[part].position;
}
// Gives the rotation around three axis.
-void CObject::SetAngle(int part, const D3DVECTOR &angle)
+void CObject::SetAngle(int part, const Math::Vector &angle)
{
m_objectPart[part].angle = angle;
m_objectPart[part].bRotate = true; // it will recalculate the matrices
@@ -1662,7 +1662,7 @@ void CObject::SetAngle(int part, const D3DVECTOR &angle)
}
}
-D3DVECTOR CObject::RetAngle(int part)
+Math::Vector CObject::RetAngle(int part)
{
return m_objectPart[part].angle;
}
@@ -1726,7 +1726,7 @@ void CObject::SetZoom(int part, float zoom)
m_objectPart[part].zoom.z != 1.0f );
}
-void CObject::SetZoom(int part, D3DVECTOR zoom)
+void CObject::SetZoom(int part, Math::Vector zoom)
{
m_objectPart[part].bTranslate = true; // it will recalculate the matrices
m_objectPart[part].zoom = zoom;
@@ -1736,7 +1736,7 @@ void CObject::SetZoom(int part, D3DVECTOR zoom)
m_objectPart[part].zoom.z != 1.0f );
}
-D3DVECTOR CObject::RetZoom(int part)
+Math::Vector CObject::RetZoom(int part)
{
return m_objectPart[part].zoom;
}
@@ -1850,22 +1850,22 @@ bool CObject::RetResetBusy()
return m_bResetBusy;
}
-void CObject::SetResetPosition(const D3DVECTOR &pos)
+void CObject::SetResetPosition(const Math::Vector &pos)
{
m_resetPosition = pos;
}
-D3DVECTOR CObject::RetResetPosition()
+Math::Vector CObject::RetResetPosition()
{
return m_resetPosition;
}
-void CObject::SetResetAngle(const D3DVECTOR &angle)
+void CObject::SetResetAngle(const Math::Vector &angle)
{
m_resetAngle = angle;
}
-D3DVECTOR CObject::RetResetAngle()
+Math::Vector CObject::RetResetAngle()
{
return m_resetAngle;
}
@@ -2025,22 +2025,22 @@ float CObject::RetCmdLine(int rank)
// Returns matrices of an object portion.
-D3DMATRIX* CObject::RetRotateMatrix(int part)
+Math::Matrix* CObject::RetRotateMatrix(int part)
{
return &m_objectPart[part].matRotate;
}
-D3DMATRIX* CObject::RetTranslateMatrix(int part)
+Math::Matrix* CObject::RetTranslateMatrix(int part)
{
return &m_objectPart[part].matTranslate;
}
-D3DMATRIX* CObject::RetTransformMatrix(int part)
+Math::Matrix* CObject::RetTransformMatrix(int part)
{
return &m_objectPart[part].matTransform;
}
-D3DMATRIX* CObject::RetWorldMatrix(int part)
+Math::Matrix* CObject::RetWorldMatrix(int part)
{
if ( m_objectPart[0].bTranslate ||
m_objectPart[0].bRotate )
@@ -2085,7 +2085,7 @@ void CObject::SetDrawFront(bool bDraw)
// Creates a vehicle traveling any pose on the floor.
-bool CObject::CreateVehicle(D3DVECTOR pos, float angle, ObjectType type,
+bool CObject::CreateVehicle(Math::Vector pos, float angle, ObjectType type,
float power, bool bTrainer, bool bToy)
{
m_type = type;
@@ -2178,7 +2178,7 @@ bool CObject::CreateVehicle(D3DVECTOR pos, float angle, ObjectType type,
// Creates an insect lands on any ground.
-bool CObject::CreateInsect(D3DVECTOR pos, float angle, ObjectType type)
+bool CObject::CreateInsect(Math::Vector pos, float angle, ObjectType type)
{
m_type = type;
@@ -2245,7 +2245,7 @@ bool CObject::CreateInsect(D3DVECTOR pos, float angle, ObjectType type)
bool CObject::CreateShadowLight(float height, D3DCOLORVALUE color)
{
D3DLIGHT7 light;
- D3DVECTOR pos;
+ Math::Vector pos;
if ( !m_engine->RetLightMode() ) return true;
@@ -2358,7 +2358,7 @@ bool CObject::CreateShadowCircle(float radius, float intensity,
// Creates a building laying on the ground.
-bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
+bool CObject::CreateBuilding(Math::Vector pos, float angle, float height,
ObjectType type, float power)
{
CModFile* pModFile;
@@ -2389,7 +2389,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(1, 0);
pModFile->ReadModel("objects\\portico2.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(1, D3DVECTOR(0.0f, 67.0f, 0.0f));
+ SetPosition(1, Math::Vector(0.0f, 67.0f, 0.0f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -2397,7 +2397,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(2, 1);
pModFile->ReadModel("objects\\portico3.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(2, D3DVECTOR(0.0f, 0.0f, -33.0f));
+ SetPosition(2, Math::Vector(0.0f, 0.0f, -33.0f));
SetAngleY(2, 45.0f*Math::PI/180.0f);
rank = m_engine->CreateObject();
@@ -2406,7 +2406,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(3, 2);
pModFile->ReadModel("objects\\portico4.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(3, D3DVECTOR(50.0f, 0.0f, 0.0f));
+ SetPosition(3, Math::Vector(50.0f, 0.0f, 0.0f));
SetAngleY(3, -60.0f*Math::PI/180.0f);
rank = m_engine->CreateObject();
@@ -2415,7 +2415,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(4, 3);
pModFile->ReadModel("objects\\portico5.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(4, D3DVECTOR(35.0f, 0.0f, 0.0f));
+ SetPosition(4, Math::Vector(35.0f, 0.0f, 0.0f));
SetAngleY(4, -55.0f*Math::PI/180.0f);
rank = m_engine->CreateObject();
@@ -2424,7 +2424,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(5, 1);
pModFile->ReadModel("objects\\portico3.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(5, D3DVECTOR(0.0f, 0.0f, 33.0f));
+ SetPosition(5, Math::Vector(0.0f, 0.0f, 33.0f));
SetAngleY(5, -45.0f*Math::PI/180.0f);
rank = m_engine->CreateObject();
@@ -2433,7 +2433,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(6, 5);
pModFile->ReadModel("objects\\portico4.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(6, D3DVECTOR(50.0f, 0.0f, 0.0f));
+ SetPosition(6, Math::Vector(50.0f, 0.0f, 0.0f));
SetAngleY(6, 60.0f*Math::PI/180.0f);
rank = m_engine->CreateObject();
@@ -2442,7 +2442,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(7, 6);
pModFile->ReadModel("objects\\portico5.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(7, D3DVECTOR(35.0f, 0.0f, 0.0f));
+ SetPosition(7, Math::Vector(35.0f, 0.0f, 0.0f));
SetAngleY(7, 55.0f*Math::PI/180.0f);
rank = m_engine->CreateObject();
@@ -2451,7 +2451,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(8, 0);
pModFile->ReadModel("objects\\portico6.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(8, D3DVECTOR(-35.0f, 50.0f, -35.0f));
+ SetPosition(8, Math::Vector(-35.0f, 50.0f, -35.0f));
SetAngleY(8, -Math::PI/2.0f);
SetZoom(8, 2.0f);
@@ -2461,7 +2461,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(9, 8);
pModFile->ReadModel("objects\\portico7.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(9, D3DVECTOR(0.0f, 4.5f, 1.9f));
+ SetPosition(9, Math::Vector(0.0f, 4.5f, 1.9f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -2469,7 +2469,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(10, 0);
pModFile->ReadModel("objects\\portico6.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(10, D3DVECTOR(-35.0f, 50.0f, 35.0f));
+ SetPosition(10, Math::Vector(-35.0f, 50.0f, 35.0f));
SetAngleY(10, -Math::PI/2.0f);
SetZoom(10, 2.0f);
@@ -2479,20 +2479,20 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(11, 10);
pModFile->ReadModel("objects\\portico7.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(11, D3DVECTOR(0.0f, 4.5f, 1.9f));
-
- CreateCrashSphere(D3DVECTOR( 0.0f, 28.0f, 0.0f), 45.5f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 27.0f, 10.0f, -42.0f), 15.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 10.0f, -42.0f), 15.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-27.0f, 10.0f, -42.0f), 15.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 27.0f, 10.0f, 42.0f), 15.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 10.0f, 42.0f), 15.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-27.0f, 10.0f, 42.0f), 15.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-32.0f, 45.0f, -32.0f), 10.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-32.0f, 45.0f, 32.0f), 10.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 32.0f, 45.0f, -32.0f), 10.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 32.0f, 45.0f, 32.0f), 10.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 35.0f, 0.0f), 50.0f);
+ SetPosition(11, Math::Vector(0.0f, 4.5f, 1.9f));
+
+ CreateCrashSphere(Math::Vector( 0.0f, 28.0f, 0.0f), 45.5f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 27.0f, 10.0f, -42.0f), 15.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 10.0f, -42.0f), 15.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-27.0f, 10.0f, -42.0f), 15.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 27.0f, 10.0f, 42.0f), 15.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 10.0f, 42.0f), 15.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-27.0f, 10.0f, 42.0f), 15.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-32.0f, 45.0f, -32.0f), 10.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-32.0f, 45.0f, 32.0f), 10.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 32.0f, 45.0f, -32.0f), 10.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 32.0f, 45.0f, 32.0f), 10.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 35.0f, 0.0f), 50.0f);
CreateShadowCircle(50.0f, 1.0f);
}
@@ -2514,7 +2514,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
pModFile->ReadModel("objects\\base2.mod");
pModFile->CreateEngineObject(rank);
p = Math::RotatePoint(-Math::PI/4.0f*i, 27.8f);
- SetPosition(1+i, D3DVECTOR(p.x, 30.0f, p.y));
+ SetPosition(1+i, Math::Vector(p.x, 30.0f, p.y));
SetAngleY(1+i, Math::PI/4.0f*i);
SetAngleZ(1+i, Math::PI/2.0f);
@@ -2524,7 +2524,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(10+i, 1+i);
pModFile->ReadModel("objects\\base4.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(10+i, D3DVECTOR(23.5f, 0.0f, 7.0f));
+ SetPosition(10+i, Math::Vector(23.5f, 0.0f, 7.0f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -2533,7 +2533,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
pModFile->ReadModel("objects\\base4.mod");
pModFile->Mirror();
pModFile->CreateEngineObject(rank);
- SetPosition(18+i, D3DVECTOR(23.5f, 0.0f, -7.0f));
+ SetPosition(18+i, Math::Vector(23.5f, 0.0f, -7.0f));
}
rank = m_engine->CreateObject();
@@ -2543,25 +2543,25 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
pModFile->ReadModel("objects\\base3.mod"); // central pillar
pModFile->CreateEngineObject(rank);
- CreateCrashSphere(D3DVECTOR( 0.0f, 33.0f, 0.0f), 2.5f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 39.0f, 0.0f), 2.5f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 45.0f, 0.0f), 2.5f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 51.0f, 0.0f), 2.5f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 57.0f, 0.0f), 2.5f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 63.0f, 0.0f), 2.5f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 69.0f, 0.0f), 2.5f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 82.0f, 0.0f), 8.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 18.0f, 94.0f, 0.0f), 10.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-18.0f, 94.0f, 0.0f), 10.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 94.0f, 18.0f), 10.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 94.0f, -18.0f), 10.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 13.0f, 94.0f, 13.0f), 10.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-13.0f, 94.0f, 13.0f), 10.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 13.0f, 94.0f, -13.0f), 10.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-13.0f, 94.0f, -13.0f), 10.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f,104.0f, 0.0f), 14.0f, SOUND_BOUMm, 0.45f);
-
- SetGlobalSphere(D3DVECTOR(0.0f, 45.0f, 0.0f), 10.0f);
+ CreateCrashSphere(Math::Vector( 0.0f, 33.0f, 0.0f), 2.5f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 39.0f, 0.0f), 2.5f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 45.0f, 0.0f), 2.5f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 51.0f, 0.0f), 2.5f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 57.0f, 0.0f), 2.5f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 63.0f, 0.0f), 2.5f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 69.0f, 0.0f), 2.5f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 82.0f, 0.0f), 8.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 18.0f, 94.0f, 0.0f), 10.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-18.0f, 94.0f, 0.0f), 10.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 94.0f, 18.0f), 10.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 94.0f, -18.0f), 10.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 13.0f, 94.0f, 13.0f), 10.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-13.0f, 94.0f, 13.0f), 10.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 13.0f, 94.0f, -13.0f), 10.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-13.0f, 94.0f, -13.0f), 10.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f,104.0f, 0.0f), 14.0f, SOUND_BOUMm, 0.45f);
+
+ SetGlobalSphere(Math::Vector(0.0f, 45.0f, 0.0f), 10.0f);
CreateShadowCircle(60.0f, 1.0f);
m_showLimitRadius = 200.0f;
@@ -2584,12 +2584,12 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
pModFile->ReadModel("objects\\derrick2.mod");
pModFile->CreateEngineObject(rank);
- CreateCrashSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(0.0f, 10.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(0.0f, 17.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(0.0f, 26.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(7.0f, 17.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 10.0f, 0.0f), 10.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(0.0f, 10.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(0.0f, 17.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(0.0f, 26.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(7.0f, 17.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 10.0f, 0.0f), 10.0f);
CreateShadowCircle(10.0f, 0.4f);
}
@@ -2608,7 +2608,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(1, 0);
pModFile->ReadModel("objects\\search2.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(1, D3DVECTOR(0.0f, 13.0f, 0.0f));
+ SetPosition(1, Math::Vector(0.0f, 13.0f, 0.0f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -2616,15 +2616,15 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(2, 1);
pModFile->ReadModel("objects\\search3.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(2, D3DVECTOR(0.0f, 4.0f, 0.0f));
+ SetPosition(2, Math::Vector(0.0f, 4.0f, 0.0f));
SetAngleZ(2, 35.0f*Math::PI/180.0f);
- CreateCrashSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 9.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(0.0f, 6.0f, 0.0f), 9.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(0.0f, 14.0f, 0.0f), 7.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 8.0f, 0.0f), 12.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 9.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(0.0f, 6.0f, 0.0f), 9.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(0.0f, 14.0f, 0.0f), 7.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 8.0f, 0.0f), 12.0f);
- m_character.posPower = D3DVECTOR(7.5f, 3.0f, 0.0f);
+ m_character.posPower = Math::Vector(7.5f, 3.0f, 0.0f);
CreateShadowCircle(12.0f, 1.0f);
}
@@ -2643,7 +2643,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(1, 0);
pModFile->ReadModel("objects\\radar2.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(1, D3DVECTOR(0.0f, 5.0f, 0.0f));
+ SetPosition(1, Math::Vector(0.0f, 5.0f, 0.0f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -2651,7 +2651,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(2, 0);
pModFile->ReadModel("objects\\radar3.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(2, D3DVECTOR(0.0f, 11.0f, 0.0f));
+ SetPosition(2, Math::Vector(0.0f, 11.0f, 0.0f));
SetAngleY(2, -Math::PI/2.0f);
rank = m_engine->CreateObject();
@@ -2660,11 +2660,11 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(3, 2);
pModFile->ReadModel("objects\\radar4.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(3, D3DVECTOR(0.0f, 4.5f, 1.9f));
+ SetPosition(3, Math::Vector(0.0f, 4.5f, 1.9f));
- CreateCrashSphere(D3DVECTOR(0.0f, 3.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(0.0f, 11.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 7.0f, 0.0f), 7.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 3.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(0.0f, 11.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 7.0f, 0.0f), 7.0f);
CreateShadowCircle(8.0f, 1.0f);
}
@@ -2683,7 +2683,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(1, 0);
pModFile->ReadModel("objects\\info2.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(1, D3DVECTOR(0.0f, 5.0f, 0.0f));
+ SetPosition(1, Math::Vector(0.0f, 5.0f, 0.0f));
for ( i=0 ; i<3 ; i++ )
{
@@ -2693,7 +2693,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(2+i*2, 1);
pModFile->ReadModel("objects\\info3.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(2+i*2, D3DVECTOR(0.0f, 4.5f, 0.0f));
+ SetPosition(2+i*2, Math::Vector(0.0f, 4.5f, 0.0f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -2701,14 +2701,14 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(3+i*2, 2+i*2);
pModFile->ReadModel("objects\\radar4.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(3+i*2, D3DVECTOR(0.0f, 0.0f, -4.0f));
+ SetPosition(3+i*2, Math::Vector(0.0f, 0.0f, -4.0f));
SetAngleY(2+i*2, 2.0f*Math::PI/3.0f*i);
}
- CreateCrashSphere(D3DVECTOR(0.0f, 3.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(0.0f, 11.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 5.0f, 0.0f), 6.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 3.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(0.0f, 11.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 5.0f, 0.0f), 6.0f);
CreateShadowCircle(8.0f, 1.0f);
}
@@ -2721,12 +2721,12 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetAngleY(0, angle);
SetFloorHeight(0.0f);
- CreateCrashSphere(D3DVECTOR(-2.0f, 13.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-7.0f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 1.0f, 0.0f), 1.5f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(-7.0f, 5.0f, 0.0f), 5.0f);
+ CreateCrashSphere(Math::Vector(-2.0f, 13.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-7.0f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 1.0f, 0.0f), 1.5f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(-7.0f, 5.0f, 0.0f), 5.0f);
- m_character.posPower = D3DVECTOR(0.0f, 3.0f, 0.0f);
+ m_character.posPower = Math::Vector(0.0f, 3.0f, 0.0f);
m_energy = power; // initializes the energy level
CreateShadowCircle(6.0f, 0.5f);
@@ -2746,7 +2746,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(1, 0);
pModFile->ReadModel("objects\\labo2.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(1, D3DVECTOR(-9.0f, 3.0f, 0.0f));
+ SetPosition(1, Math::Vector(-9.0f, 3.0f, 0.0f));
SetAngleZ(1, Math::PI/2.0f);
rank = m_engine->CreateObject();
@@ -2755,7 +2755,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(2, 1);
pModFile->ReadModel("objects\\labo3.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(2, D3DVECTOR(9.0f, -1.0f, 0.0f));
+ SetPosition(2, Math::Vector(9.0f, -1.0f, 0.0f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -2763,7 +2763,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(3, 2);
pModFile->ReadModel("objects\\labo4.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(3, D3DVECTOR(0.0f, 0.0f, 0.0f));
+ SetPosition(3, Math::Vector(0.0f, 0.0f, 0.0f));
SetAngleZ(3, 80.0f*Math::PI/180.0f);
rank = m_engine->CreateObject();
@@ -2772,7 +2772,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(4, 2);
pModFile->ReadModel("objects\\labo4.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(4, D3DVECTOR(0.0f, 0.0f, 0.0f));
+ SetPosition(4, Math::Vector(0.0f, 0.0f, 0.0f));
SetAngleZ(4, 80.0f*Math::PI/180.0f);
SetAngleY(4, Math::PI*2.0f/3.0f);
@@ -2782,18 +2782,18 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(5, 2);
pModFile->ReadModel("objects\\labo4.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(5, D3DVECTOR(0.0f, 0.0f, 0.0f));
+ SetPosition(5, Math::Vector(0.0f, 0.0f, 0.0f));
SetAngleZ(5, 80.0f*Math::PI/180.0f);
SetAngleY(5, -Math::PI*2.0f/3.0f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 1.0f, 0.0f), 1.5f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 11.0f, 0.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-10.0f, 10.0f, 0.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-12.0f, 3.0f, 3.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-12.0f, 3.0f, -3.0f), 4.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(-10.0f, 5.0f, 0.0f), 7.0f);
+ CreateCrashSphere(Math::Vector( 0.0f, 1.0f, 0.0f), 1.5f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 11.0f, 0.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-10.0f, 10.0f, 0.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-12.0f, 3.0f, 3.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-12.0f, 3.0f, -3.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(-10.0f, 5.0f, 0.0f), 7.0f);
- m_character.posPower = D3DVECTOR(0.0f, 3.0f, 0.0f);
+ m_character.posPower = Math::Vector(0.0f, 3.0f, 0.0f);
CreateShadowCircle(7.0f, 0.5f);
}
@@ -2814,7 +2814,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(1+i, 0);
pModFile->ReadModel("objects\\factory2.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(1+i, D3DVECTOR(10.0f, 2.0f*i, 10.0f));
+ SetPosition(1+i, Math::Vector(10.0f, 2.0f*i, 10.0f));
SetAngleZ(1+i, Math::PI/2.0f);
SetZoomZ(1+i, 0.30f);
@@ -2824,7 +2824,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(10+i, 0);
pModFile->ReadModel("objects\\factory2.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(10+i, D3DVECTOR(10.0f, 2.0f*i, -10.0f));
+ SetPosition(10+i, Math::Vector(10.0f, 2.0f*i, -10.0f));
SetAngleZ(10+i, -Math::PI/2.0f);
SetAngleY(10+i, Math::PI);
SetZoomZ(10+i, 0.30f);
@@ -2833,27 +2833,27 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
for ( i=0 ; i<2 ; i++ )
{
float s = (float)(i*2-1);
- CreateCrashSphere(D3DVECTOR(-10.0f, 2.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( -3.0f, 2.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 3.0f, 2.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 10.0f, 2.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-10.0f, 9.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( -3.0f, 9.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 3.0f, 9.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 10.0f, 9.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-10.0f, 16.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( -3.0f, 16.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 3.0f, 16.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 10.0f, 16.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-10.0f, 16.0f, 4.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( -3.0f, 16.0f, 4.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 3.0f, 16.0f, 4.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 10.0f, 16.0f, 4.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-10.0f, 2.0f, 4.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-10.0f, 9.0f, 4.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-10.0f, 2.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( -3.0f, 2.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 3.0f, 2.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 10.0f, 2.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-10.0f, 9.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( -3.0f, 9.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 3.0f, 9.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 10.0f, 9.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-10.0f, 16.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( -3.0f, 16.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 3.0f, 16.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 10.0f, 16.0f, 11.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-10.0f, 16.0f, 4.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( -3.0f, 16.0f, 4.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 3.0f, 16.0f, 4.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 10.0f, 16.0f, 4.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-10.0f, 2.0f, 4.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-10.0f, 9.0f, 4.0f*s), 4.0f, SOUND_BOUMm, 0.45f);
}
- CreateCrashSphere(D3DVECTOR(-10.0f, 21.0f, -4.0f), 3.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 10.0f, 0.0f), 18.0f);
+ CreateCrashSphere(Math::Vector(-10.0f, 21.0f, -4.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 10.0f, 0.0f), 18.0f);
CreateShadowCircle(24.0f, 0.3f);
}
@@ -2872,16 +2872,16 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(1, 0);
pModFile->ReadModel("objects\\repair2.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(1, D3DVECTOR(-11.0f, 13.5f, 0.0f));
+ SetPosition(1, Math::Vector(-11.0f, 13.5f, 0.0f));
SetAngleZ(1, Math::PI/2.0f);
m_terrain->AddBuildingLevel(pos, 7.0f, 9.0f, 1.0f, 0.5f);
- CreateCrashSphere(D3DVECTOR(-11.0f, 0.0f, 4.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-11.0f, 0.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-11.0f, 0.0f, -4.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-11.0f, 10.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(-11.0f, 13.0f, 0.0f), 15.0f);
+ CreateCrashSphere(Math::Vector(-11.0f, 0.0f, 4.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-11.0f, 0.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-11.0f, 0.0f, -4.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-11.0f, 10.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(-11.0f, 13.0f, 0.0f), 15.0f);
}
if ( m_type == OBJECT_DESTROYER )
@@ -2898,14 +2898,14 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(1, 0);
pModFile->ReadModel("objects\\destroy2.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(1, D3DVECTOR(0.0f, 0.0f, 0.0f));
+ SetPosition(1, Math::Vector(0.0f, 0.0f, 0.0f));
m_terrain->AddBuildingLevel(pos, 7.0f, 9.0f, 1.0f, 0.5f);
- CreateCrashSphere(D3DVECTOR(-3.5f, 0.0f, -13.5f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 3.5f, 0.0f, -13.5f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-3.5f, 0.0f, 13.5f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 3.5f, 0.0f, 13.5f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-3.5f, 0.0f, -13.5f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 3.5f, 0.0f, -13.5f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-3.5f, 0.0f, 13.5f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 3.5f, 0.0f, 13.5f), 4.0f, SOUND_BOUMm, 0.45f);
CreateShadowCircle(19.0f, 1.0f);
}
@@ -2920,9 +2920,9 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
m_terrain->AddBuildingLevel(pos, 7.0f, 9.0f, 1.0f, 0.5f);
- CreateCrashSphere(D3DVECTOR(-15.0f, 2.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-15.0f, 6.0f, 0.0f), 4.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(-15.0f, 5.0f, 0.0f), 6.0f);
+ CreateCrashSphere(Math::Vector(-15.0f, 2.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-15.0f, 6.0f, 0.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(-15.0f, 5.0f, 0.0f), 6.0f);
m_energy = power; // initialise le niveau d'�nergie
}
@@ -2941,7 +2941,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(1, 0);
pModFile->ReadModel("objects\\convert2.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(1, D3DVECTOR(0.0f, 14.0f, 0.0f));
+ SetPosition(1, Math::Vector(0.0f, 14.0f, 0.0f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -2949,7 +2949,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(2, 0);
pModFile->ReadModel("objects\\convert3.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(2, D3DVECTOR(0.0f, 11.5f, 0.0f));
+ SetPosition(2, Math::Vector(0.0f, 11.5f, 0.0f));
SetAngleX(2, -Math::PI*0.35f);
rank = m_engine->CreateObject();
@@ -2958,17 +2958,17 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(3, 0);
pModFile->ReadModel("objects\\convert3.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(3, D3DVECTOR(0.0f, 11.5f, 0.0f));
+ SetPosition(3, Math::Vector(0.0f, 11.5f, 0.0f));
SetAngleY(3, Math::PI);
SetAngleX(3, -Math::PI*0.35f);
m_terrain->AddBuildingLevel(pos, 7.0f, 9.0f, 1.0f, 0.5f);
- CreateCrashSphere(D3DVECTOR(-10.0f, 2.0f, 4.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-10.0f, 2.0f, -4.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-10.0f, 9.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 14.0f, 0.0f), 1.5f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(-3.0f, 8.0f, 0.0f), 14.0f);
+ CreateCrashSphere(Math::Vector(-10.0f, 2.0f, 4.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-10.0f, 2.0f, -4.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-10.0f, 9.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 14.0f, 0.0f), 1.5f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(-3.0f, 8.0f, 0.0f), 14.0f);
}
if ( m_type == OBJECT_TOWER )
@@ -2985,7 +2985,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(1, 0);
pModFile->ReadModel("objects\\roller2c.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(1, D3DVECTOR(0.0f, 20.0f, 0.0f));
+ SetPosition(1, Math::Vector(0.0f, 20.0f, 0.0f));
SetAngleZ(1, Math::PI/2.0f);
rank = m_engine->CreateObject();
@@ -2994,16 +2994,16 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(2, 1);
pModFile->ReadModel("objects\\roller3c.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(2, D3DVECTOR(4.5f, 0.0f, 0.0f));
+ SetPosition(2, Math::Vector(4.5f, 0.0f, 0.0f));
SetAngleZ(2, 0.0f);
- CreateCrashSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 6.5f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(0.0f, 8.0f, 0.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(0.0f, 15.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(0.0f, 24.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 5.0f, 0.0f), 7.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 6.5f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(0.0f, 8.0f, 0.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(0.0f, 15.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(0.0f, 24.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 5.0f, 0.0f), 7.0f);
- m_character.posPower = D3DVECTOR(5.0f, 3.0f, 0.0f);
+ m_character.posPower = Math::Vector(5.0f, 3.0f, 0.0f);
CreateShadowCircle(6.0f, 1.0f);
m_showLimitRadius = BLITZPARA;
@@ -3023,15 +3023,15 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(1, 0);
pModFile->ReadModel("objects\\nuclear2.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(1, D3DVECTOR(20.0f, 10.0f, 0.0f));
+ SetPosition(1, Math::Vector(20.0f, 10.0f, 0.0f));
SetAngleZ(1, 135.0f*Math::PI/180.0f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 0.0f, 0.0f), 19.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 24.0f, 0.0f), 15.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(22.0f, 1.0f, 0.0f), 1.5f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 17.0f, 0.0f), 26.0f);
+ CreateCrashSphere(Math::Vector( 0.0f, 0.0f, 0.0f), 19.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 24.0f, 0.0f), 15.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(22.0f, 1.0f, 0.0f), 1.5f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 17.0f, 0.0f), 26.0f);
- m_character.posPower = D3DVECTOR(22.0f, 3.0f, 0.0f);
+ m_character.posPower = Math::Vector(22.0f, 3.0f, 0.0f);
CreateShadowCircle(21.0f, 1.0f);
}
@@ -3046,17 +3046,17 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
m_terrain->AddBuildingLevel(pos, 16.0f, 18.0f, 1.0f, 0.5f);
- CreateCrashSphere(D3DVECTOR( 13.0f, 3.0f, 13.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 11.0f, 15.0f, 11.0f), 2.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-13.0f, 3.0f, 13.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-11.0f, 15.0f, -11.0f), 2.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 13.0f, 3.0f, -13.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 11.0f, 15.0f, -11.0f), 2.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-13.0f, 3.0f, -13.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-11.0f, 15.0f, -11.0f), 2.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 26.0f, 0.0f), 9.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 54.0f, 0.0f), 14.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 10.0f, 0.0f), 20.0f);
+ CreateCrashSphere(Math::Vector( 13.0f, 3.0f, 13.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 11.0f, 15.0f, 11.0f), 2.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-13.0f, 3.0f, 13.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-11.0f, 15.0f, -11.0f), 2.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 13.0f, 3.0f, -13.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 11.0f, 15.0f, -11.0f), 2.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-13.0f, 3.0f, -13.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-11.0f, 15.0f, -11.0f), 2.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 26.0f, 0.0f), 9.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 54.0f, 0.0f), 14.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 10.0f, 0.0f), 20.0f);
CreateShadowCircle(21.0f, 1.0f);
m_showLimitRadius = BLITZPARA;
@@ -3088,8 +3088,8 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
m_terrain->AddBuildingLevel(pos, 18.0f, 20.0f, 1.0f, 0.5f);
- CreateCrashSphere(D3DVECTOR(0.0f, 1.0f, 0.0f), 13.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 1.0f, 0.0f), 13.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 1.0f, 0.0f), 13.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 1.0f, 0.0f), 13.0f);
CreateShadowCircle(23.0f, 1.0f);
}
@@ -3108,7 +3108,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(1, 0);
pModFile->ReadModel("objects\\huston2.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(1, D3DVECTOR(0.0f, 39.0f, 30.0f));
+ SetPosition(1, Math::Vector(0.0f, 39.0f, 30.0f));
SetAngleY(1, -Math::PI/2.0f);
SetZoom(1, 3.0f);
@@ -3118,24 +3118,24 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetObjectParent(2, 1);
pModFile->ReadModel("objects\\huston3.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(2, D3DVECTOR(0.0f, 4.5f, 1.9f));
-
- CreateCrashSphere(D3DVECTOR( 15.0f, 6.0f, -53.0f), 16.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-15.0f, 6.0f, -53.0f), 16.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 15.0f, 6.0f, -26.0f), 16.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-15.0f, 6.0f, -26.0f), 16.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 15.0f, 6.0f, 0.0f), 16.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-15.0f, 6.0f, 0.0f), 16.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 15.0f, 6.0f, 26.0f), 16.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-15.0f, 6.0f, 26.0f), 16.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 15.0f, 6.0f, 53.0f), 16.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-15.0f, 6.0f, 53.0f), 16.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 27.0f, 30.0f), 12.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 45.0f, 30.0f), 14.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 26.0f, 4.0f, -61.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-26.0f, 4.0f, -61.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 26.0f, 4.0f, 61.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-26.0f, 4.0f, 61.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ SetPosition(2, Math::Vector(0.0f, 4.5f, 1.9f));
+
+ CreateCrashSphere(Math::Vector( 15.0f, 6.0f, -53.0f), 16.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-15.0f, 6.0f, -53.0f), 16.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 15.0f, 6.0f, -26.0f), 16.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-15.0f, 6.0f, -26.0f), 16.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 15.0f, 6.0f, 0.0f), 16.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-15.0f, 6.0f, 0.0f), 16.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 15.0f, 6.0f, 26.0f), 16.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-15.0f, 6.0f, 26.0f), 16.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 15.0f, 6.0f, 53.0f), 16.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-15.0f, 6.0f, 53.0f), 16.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 27.0f, 30.0f), 12.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 45.0f, 30.0f), 14.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 26.0f, 4.0f, -61.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-26.0f, 4.0f, -61.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 26.0f, 4.0f, 61.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-26.0f, 4.0f, 61.0f), 5.0f, SOUND_BOUMm, 0.45f);
}
if ( m_type == OBJECT_TARGET1 )
@@ -3147,23 +3147,23 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
SetZoom(0, 1.5f);
SetFloorHeight(0.0f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 50.0f+14.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( -7.0f, 50.0f+12.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 7.0f, 50.0f+12.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-12.0f, 50.0f+ 7.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 12.0f, 50.0f+ 7.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-14.0f, 50.0f+ 0.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 14.0f, 50.0f+ 0.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-12.0f, 50.0f- 7.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 12.0f, 50.0f- 7.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( -7.0f, 50.0f-12.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 7.0f, 50.0f-12.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 50.0f-14.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
-
- CreateCrashSphere(D3DVECTOR(0.0f, 30.0f, 0.0f), 2.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(0.0f, 24.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(0.0f, 16.0f, 0.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(0.0f, 4.0f, 0.0f), 8.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 50.0f+14.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( -7.0f, 50.0f+12.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 7.0f, 50.0f+12.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-12.0f, 50.0f+ 7.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 12.0f, 50.0f+ 7.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-14.0f, 50.0f+ 0.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 14.0f, 50.0f+ 0.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-12.0f, 50.0f- 7.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 12.0f, 50.0f- 7.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( -7.0f, 50.0f-12.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 7.0f, 50.0f-12.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 50.0f-14.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+
+ CreateCrashSphere(Math::Vector(0.0f, 30.0f, 0.0f), 2.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(0.0f, 24.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(0.0f, 16.0f, 0.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(0.0f, 4.0f, 0.0f), 8.0f, SOUND_BOUMm, 0.45f);
CreateShadowCircle(15.0f, 1.0f);
}
@@ -3231,8 +3231,8 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
pModFile->CreateEngineObject(rank);
pPower->SetPosition(0, RetCharacter()->posPower);
- pPower->CreateCrashSphere(D3DVECTOR(0.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- pPower->SetGlobalSphere(D3DVECTOR(0.0f, 1.0f, 0.0f), 1.5f);
+ pPower->CreateCrashSphere(Math::Vector(0.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ pPower->SetGlobalSphere(Math::Vector(0.0f, 1.0f, 0.0f), 1.5f);
pPower->SetTruck(this);
SetPower(pPower);
@@ -3255,7 +3255,7 @@ bool CObject::CreateBuilding(D3DVECTOR pos, float angle, float height,
// Creates a small resource set on the ground.
-bool CObject::CreateResource(D3DVECTOR pos, float angle, ObjectType type,
+bool CObject::CreateResource(Math::Vector pos, float angle, ObjectType type,
float power)
{
CModFile* pModFile;
@@ -3336,28 +3336,28 @@ bool CObject::CreateResource(D3DVECTOR pos, float angle, ObjectType type,
}
else if ( type == OBJECT_EGG )
{
- CreateCrashSphere(D3DVECTOR(-1.0f, 2.8f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 5.0f, 0.0f), 10.0f);
+ CreateCrashSphere(Math::Vector(-1.0f, 2.8f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 5.0f, 0.0f), 10.0f);
radius = 3.0f;
}
else if ( type == OBJECT_BOMB )
{
- CreateCrashSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 3.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 0.0f, 0.0f), 3.0f);
radius = 3.0f;
}
else if ( type == OBJECT_BAG )
{
- CreateCrashSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 4.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 4.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 0.0f, 0.0f), 4.0f);
SetZoom(0, 1.5f);
radius = 5.0f;
height = -1.4f;
}
else
{
- CreateCrashSphere(D3DVECTOR(0.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 1.0f, 0.0f), 1.5f);
+ CreateCrashSphere(Math::Vector(0.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 1.0f, 0.0f), 1.5f);
}
CreateShadowCircle(radius, 1.0f);
@@ -3376,7 +3376,7 @@ bool CObject::CreateResource(D3DVECTOR pos, float angle, ObjectType type,
// Creates a flag placed on the ground.
-bool CObject::CreateFlag(D3DVECTOR pos, float angle, ObjectType type)
+bool CObject::CreateFlag(Math::Vector pos, float angle, ObjectType type)
{
CModFile* pModFile;
char name[50];
@@ -3418,11 +3418,11 @@ bool CObject::CreateFlag(D3DVECTOR pos, float angle, ObjectType type)
SetObjectParent(1+i, i);
pModFile->ReadModel(name);
pModFile->CreateEngineObject(rank);
- if ( i == 0 ) SetPosition(1+i, D3DVECTOR(0.15f, 5.0f, 0.0f));
- else SetPosition(1+i, D3DVECTOR(0.79f, 0.0f, 0.0f));
+ if ( i == 0 ) SetPosition(1+i, Math::Vector(0.15f, 5.0f, 0.0f));
+ else SetPosition(1+i, Math::Vector(0.79f, 0.0f, 0.0f));
}
- SetJotlerSphere(D3DVECTOR(0.0f, 4.0f, 0.0f), 1.0f);
+ SetJotlerSphere(Math::Vector(0.0f, 4.0f, 0.0f), 1.0f);
CreateShadowCircle(2.0f, 0.3f);
SetFloorHeight(0.0f);
@@ -3439,7 +3439,7 @@ bool CObject::CreateFlag(D3DVECTOR pos, float angle, ObjectType type)
// Creates a barrier placed on the ground.
-bool CObject::CreateBarrier(D3DVECTOR pos, float angle, float height,
+bool CObject::CreateBarrier(Math::Vector pos, float angle, float height,
ObjectType type)
{
CModFile* pModFile;
@@ -3461,9 +3461,9 @@ bool CObject::CreateBarrier(D3DVECTOR pos, float angle, float height,
SetPosition(0, pos);
SetAngleY(0, angle);
- CreateCrashSphere(D3DVECTOR( 3.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-3.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 3.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-3.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
CreateShadowCircle(6.0f, 0.5f, D3DSHADOWWORM);
}
@@ -3478,11 +3478,11 @@ bool CObject::CreateBarrier(D3DVECTOR pos, float angle, float height,
SetPosition(0, pos);
SetAngleY(0, angle);
- CreateCrashSphere(D3DVECTOR( 8.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 3.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-3.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-8.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 8.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 3.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-3.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-8.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
CreateShadowCircle(12.0f, 0.5f, D3DSHADOWWORM);
}
@@ -3497,11 +3497,11 @@ bool CObject::CreateBarrier(D3DVECTOR pos, float angle, float height,
SetPosition(0, pos);
SetAngleY(0, angle);
- CreateCrashSphere(D3DVECTOR( 8.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 3.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-3.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-8.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 8.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 3.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-3.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-8.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
CreateShadowCircle(12.0f, 0.8f, D3DSHADOWWORM);
}
@@ -3516,11 +3516,11 @@ bool CObject::CreateBarrier(D3DVECTOR pos, float angle, float height,
SetPosition(0, pos);
SetAngleY(0, angle);
- CreateCrashSphere(D3DVECTOR( 8.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 3.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-3.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-8.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 8.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 3.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-3.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-8.5f, 3.0f, 0.0f), 0.7f, SOUND_BOUMm, 0.45f);
CreateShadowCircle(10.0f, 0.5f, D3DSHADOWWORM);
}
@@ -3542,7 +3542,7 @@ bool CObject::CreateBarrier(D3DVECTOR pos, float angle, float height,
// Creates a plant placed on the ground.
-bool CObject::CreatePlant(D3DVECTOR pos, float angle, float height,
+bool CObject::CreatePlant(Math::Vector pos, float angle, float height,
ObjectType type)
{
CModFile* pModFile;
@@ -3574,9 +3574,9 @@ bool CObject::CreatePlant(D3DVECTOR pos, float angle, float height,
height -= 2.0f;
- CreateCrashSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 4.0f, SOUND_BOUM, 0.10f);
- SetGlobalSphere(D3DVECTOR(0.0f, 3.0f, 0.0f), 6.0f);
- SetJotlerSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 8.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 4.0f, SOUND_BOUM, 0.10f);
+ SetGlobalSphere(Math::Vector(0.0f, 3.0f, 0.0f), 6.0f);
+ SetJotlerSphere(Math::Vector(0.0f, 0.0f, 0.0f), 8.0f);
CreateShadowCircle(8.0f, 0.5f);
}
@@ -3595,8 +3595,8 @@ bool CObject::CreatePlant(D3DVECTOR pos, float angle, float height,
SetPosition(0, pos);
SetAngleY(0, angle);
-//? CreateCrashSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 3.0f, SOUND_BOUM, 0.10f);
- SetJotlerSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 4.0f);
+//? CreateCrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 3.0f, SOUND_BOUM, 0.10f);
+ SetJotlerSphere(Math::Vector(0.0f, 0.0f, 0.0f), 4.0f);
CreateShadowCircle(5.0f, 0.3f);
}
@@ -3613,8 +3613,8 @@ bool CObject::CreatePlant(D3DVECTOR pos, float angle, float height,
SetPosition(0, pos);
SetAngleY(0, angle);
- CreateCrashSphere(D3DVECTOR(0.0f, 2.0f, 0.0f), 4.0f, SOUND_BOUM, 0.10f);
- CreateCrashSphere(D3DVECTOR(0.0f, 10.0f, 0.0f), 4.0f, SOUND_BOUM, 0.10f);
+ CreateCrashSphere(Math::Vector(0.0f, 2.0f, 0.0f), 4.0f, SOUND_BOUM, 0.10f);
+ CreateCrashSphere(Math::Vector(0.0f, 10.0f, 0.0f), 4.0f, SOUND_BOUM, 0.10f);
CreateShadowCircle(10.0f, 0.5f);
}
@@ -3637,9 +3637,9 @@ bool CObject::CreatePlant(D3DVECTOR pos, float angle, float height,
SetPosition(0, pos);
SetAngleY(0, angle);
- CreateCrashSphere(D3DVECTOR(0.0f, 12.0f, 0.0f), 5.0f, SOUND_BOUM, 0.10f);
- SetGlobalSphere(D3DVECTOR(0.0f, 6.0f, 0.0f), 6.0f);
- SetJotlerSphere(D3DVECTOR(0.0f, 4.0f, 0.0f), 8.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 12.0f, 0.0f), 5.0f, SOUND_BOUM, 0.10f);
+ SetGlobalSphere(Math::Vector(0.0f, 6.0f, 0.0f), 6.0f);
+ SetJotlerSphere(Math::Vector(0.0f, 4.0f, 0.0f), 8.0f);
CreateShadowCircle(8.0f, 0.3f);
}
@@ -3664,10 +3664,10 @@ bool CObject::CreatePlant(D3DVECTOR pos, float angle, float height,
if ( type != OBJECT_PLANT19 )
{
- CreateCrashSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 4.0f, SOUND_BOUM, 0.10f);
- SetGlobalSphere(D3DVECTOR(0.0f, 3.0f, 0.0f), 6.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 4.0f, SOUND_BOUM, 0.10f);
+ SetGlobalSphere(Math::Vector(0.0f, 3.0f, 0.0f), 6.0f);
}
- SetJotlerSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 8.0f);
+ SetJotlerSphere(Math::Vector(0.0f, 0.0f, 0.0f), 8.0f);
CreateShadowCircle(8.0f, 0.5f);
}
@@ -3682,10 +3682,10 @@ bool CObject::CreatePlant(D3DVECTOR pos, float angle, float height,
SetPosition(0, pos);
SetAngleY(0, angle);
- CreateCrashSphere(D3DVECTOR( 0.0f, 3.0f, 2.0f), 3.0f, SOUND_BOUMs, 0.20f);
- CreateCrashSphere(D3DVECTOR(-1.0f, 10.0f, 1.0f), 2.0f, SOUND_BOUMs, 0.20f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 17.0f, 0.0f), 2.0f, SOUND_BOUMs, 0.20f);
- CreateCrashSphere(D3DVECTOR( 1.0f, 27.0f, 0.0f), 2.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector( 0.0f, 3.0f, 2.0f), 3.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector(-1.0f, 10.0f, 1.0f), 2.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector( 0.0f, 17.0f, 0.0f), 2.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector( 1.0f, 27.0f, 0.0f), 2.0f, SOUND_BOUMs, 0.20f);
CreateShadowCircle(8.0f, 0.5f);
}
@@ -3700,11 +3700,11 @@ bool CObject::CreatePlant(D3DVECTOR pos, float angle, float height,
SetPosition(0, pos);
SetAngleY(0, angle);
- CreateCrashSphere(D3DVECTOR( 0.0f, 3.0f, 2.0f), 3.0f, SOUND_BOUMs, 0.20f);
- CreateCrashSphere(D3DVECTOR(-2.0f, 11.0f, 1.0f), 2.0f, SOUND_BOUMs, 0.20f);
- CreateCrashSphere(D3DVECTOR(-2.0f, 19.0f, 2.0f), 2.0f, SOUND_BOUMs, 0.20f);
- CreateCrashSphere(D3DVECTOR( 2.0f, 26.0f, 0.0f), 2.0f, SOUND_BOUMs, 0.20f);
- CreateCrashSphere(D3DVECTOR( 2.0f, 34.0f,-2.0f), 2.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector( 0.0f, 3.0f, 2.0f), 3.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector(-2.0f, 11.0f, 1.0f), 2.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector(-2.0f, 19.0f, 2.0f), 2.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector( 2.0f, 26.0f, 0.0f), 2.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector( 2.0f, 34.0f,-2.0f), 2.0f, SOUND_BOUMs, 0.20f);
CreateShadowCircle(8.0f, 0.5f);
}
@@ -3719,11 +3719,11 @@ bool CObject::CreatePlant(D3DVECTOR pos, float angle, float height,
SetPosition(0, pos);
SetAngleY(0, angle);
- CreateCrashSphere(D3DVECTOR( 0.0f, 3.0f, 1.0f), 3.0f, SOUND_BOUMs, 0.20f);
- CreateCrashSphere(D3DVECTOR(-2.0f, 10.0f, 1.0f), 2.0f, SOUND_BOUMs, 0.20f);
- CreateCrashSphere(D3DVECTOR(-2.0f, 19.0f, 2.0f), 2.0f, SOUND_BOUMs, 0.20f);
- CreateCrashSphere(D3DVECTOR( 2.0f, 25.0f, 0.0f), 2.0f, SOUND_BOUMs, 0.20f);
- CreateCrashSphere(D3DVECTOR( 3.0f, 32.0f,-2.0f), 2.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector( 0.0f, 3.0f, 1.0f), 3.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector(-2.0f, 10.0f, 1.0f), 2.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector(-2.0f, 19.0f, 2.0f), 2.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector( 2.0f, 25.0f, 0.0f), 2.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector( 3.0f, 32.0f,-2.0f), 2.0f, SOUND_BOUMs, 0.20f);
CreateShadowCircle(8.0f, 0.5f);
}
@@ -3738,10 +3738,10 @@ bool CObject::CreatePlant(D3DVECTOR pos, float angle, float height,
SetPosition(0, pos);
SetAngleY(0, angle);
- CreateCrashSphere(D3DVECTOR(-2.0f, 3.0f, 2.0f), 3.0f, SOUND_BOUMs, 0.20f);
- CreateCrashSphere(D3DVECTOR(-3.0f, 9.0f, 1.0f), 2.0f, SOUND_BOUMs, 0.20f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 18.0f, 0.0f), 2.0f, SOUND_BOUMs, 0.20f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 27.0f, 7.0f), 2.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector(-2.0f, 3.0f, 2.0f), 3.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector(-3.0f, 9.0f, 1.0f), 2.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector( 0.0f, 18.0f, 0.0f), 2.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector( 0.0f, 27.0f, 7.0f), 2.0f, SOUND_BOUMs, 0.20f);
CreateShadowCircle(8.0f, 0.5f);
}
@@ -3756,9 +3756,9 @@ bool CObject::CreatePlant(D3DVECTOR pos, float angle, float height,
SetPosition(0, pos);
SetAngleY(0, angle);
- CreateCrashSphere(D3DVECTOR(0.0f, 10.0f, 0.0f), 10.0f, SOUND_BOUMs, 0.20f);
- CreateCrashSphere(D3DVECTOR(0.0f, 21.0f, 0.0f), 8.0f, SOUND_BOUMs, 0.20f);
- CreateCrashSphere(D3DVECTOR(0.0f, 32.0f, 0.0f), 7.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector(0.0f, 10.0f, 0.0f), 10.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector(0.0f, 21.0f, 0.0f), 8.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector(0.0f, 32.0f, 0.0f), 7.0f, SOUND_BOUMs, 0.20f);
CreateShadowCircle(8.0f, 0.5f);
}
@@ -3773,9 +3773,9 @@ bool CObject::CreatePlant(D3DVECTOR pos, float angle, float height,
SetPosition(0, pos);
SetAngleY(0, angle);
- CreateCrashSphere(D3DVECTOR( 0.0f, 5.0f,-10.0f), 25.0f, SOUND_BOUMs, 0.20f);
- CreateCrashSphere(D3DVECTOR(-65.0f, 5.0f, 65.0f), 20.0f, SOUND_BOUMs, 0.20f);
- CreateCrashSphere(D3DVECTOR( 38.0f, 5.0f, 21.0f), 18.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector( 0.0f, 5.0f,-10.0f), 25.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector(-65.0f, 5.0f, 65.0f), 20.0f, SOUND_BOUMs, 0.20f);
+ CreateCrashSphere(Math::Vector( 38.0f, 5.0f, 21.0f), 18.0f, SOUND_BOUMs, 0.20f);
CreateShadowCircle(50.0f, 0.5f);
}
@@ -3796,7 +3796,7 @@ bool CObject::CreatePlant(D3DVECTOR pos, float angle, float height,
// Creates a mushroom placed on the ground.
-bool CObject::CreateMushroom(D3DVECTOR pos, float angle, float height,
+bool CObject::CreateMushroom(Math::Vector pos, float angle, float height,
ObjectType type)
{
CModFile* pModFile;
@@ -3818,9 +3818,9 @@ bool CObject::CreateMushroom(D3DVECTOR pos, float angle, float height,
SetPosition(0, pos);
SetAngleY(0, angle);
- CreateCrashSphere(D3DVECTOR(0.0f, 4.0f, 0.0f), 3.0f, SOUND_BOUM, 0.10f);
- SetGlobalSphere(D3DVECTOR(0.0f, 3.0f, 0.0f), 5.5f);
- SetJotlerSphere(D3DVECTOR(0.0f, 3.0f, 0.0f), 5.5f);
+ CreateCrashSphere(Math::Vector(0.0f, 4.0f, 0.0f), 3.0f, SOUND_BOUM, 0.10f);
+ SetGlobalSphere(Math::Vector(0.0f, 3.0f, 0.0f), 5.5f);
+ SetJotlerSphere(Math::Vector(0.0f, 3.0f, 0.0f), 5.5f);
CreateShadowCircle(6.0f, 0.5f);
}
@@ -3835,9 +3835,9 @@ bool CObject::CreateMushroom(D3DVECTOR pos, float angle, float height,
SetPosition(0, pos);
SetAngleY(0, angle);
- CreateCrashSphere(D3DVECTOR(0.0f, 5.0f, 0.0f), 3.0f, SOUND_BOUM, 0.10f);
- SetGlobalSphere(D3DVECTOR(0.0f, 4.0f, 0.0f), 5.5f);
- SetJotlerSphere(D3DVECTOR(0.0f, 4.0f, 0.0f), 5.5f);
+ CreateCrashSphere(Math::Vector(0.0f, 5.0f, 0.0f), 3.0f, SOUND_BOUM, 0.10f);
+ SetGlobalSphere(Math::Vector(0.0f, 4.0f, 0.0f), 5.5f);
+ SetJotlerSphere(Math::Vector(0.0f, 4.0f, 0.0f), 5.5f);
CreateShadowCircle(5.0f, 0.5f);
}
@@ -3858,11 +3858,11 @@ bool CObject::CreateMushroom(D3DVECTOR pos, float angle, float height,
// Creates a toy placed on the ground.
-bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
+bool CObject::CreateTeen(Math::Vector pos, float angle, float zoom, float height,
ObjectType type)
{
CModFile* pModFile;
- D3DMATRIX* mat;
+ Math::Matrix* mat;
D3DCOLORVALUE color;
int rank;
float fShadow;
@@ -3887,11 +3887,11 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR( 5.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 2.5f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-2.5f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-5.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 5.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 2.5f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-2.5f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-5.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
CreateShadowCircle(5.0f, 0.8f*fShadow, D3DSHADOWWORM);
}
@@ -3907,13 +3907,13 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR( 6.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 4.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 2.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-2.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-4.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-6.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 6.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 4.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 2.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-2.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-4.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-6.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
CreateShadowCircle(6.0f, 0.8f*fShadow, D3DSHADOWWORM);
}
@@ -3929,13 +3929,13 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR( 7.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 4.7f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 2.3f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-2.3f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-4.7f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-7.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 7.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 4.7f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 2.3f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-2.3f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-4.7f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-7.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
CreateShadowCircle(6.0f, 0.8f*fShadow, D3DSHADOWWORM);
}
@@ -3952,8 +3952,8 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR( 0.0f, 4.0f, 0.0f), 4.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 4.0f, 0.0f), 4.0f);
+ CreateCrashSphere(Math::Vector( 0.0f, 4.0f, 0.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 4.0f, 0.0f), 4.0f);
CreateShadowCircle(6.0f, 0.5f*fShadow);
}
@@ -3968,13 +3968,13 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(-9.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-6.0f, 1.0f, 0.0f), 1.1f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-3.0f, 1.0f, 0.0f), 1.2f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 1.0f, 0.0f), 1.3f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 5.1f, 1.0f,-1.3f), 2.6f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 8.0f, 1.0f, 2.2f), 2.3f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 9.4f, 1.0f,-2.0f), 2.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-9.0f, 1.0f, 0.0f), 1.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-6.0f, 1.0f, 0.0f), 1.1f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-3.0f, 1.0f, 0.0f), 1.2f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 1.0f, 0.0f), 1.3f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 5.1f, 1.0f,-1.3f), 2.6f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 8.0f, 1.0f, 2.2f), 2.3f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 9.4f, 1.0f,-2.0f), 2.0f, SOUND_BOUMm, 0.45f);
CreateShadowCircle(10.0f, 0.5f*fShadow, D3DSHADOWWORM);
}
@@ -4007,12 +4007,12 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(-5.0f, 3.0f, 7.5f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 4.5f, 3.0f, 7.5f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-5.0f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 4.5f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-5.0f, 3.0f,-7.5f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 4.5f, 3.0f,-7.5f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-5.0f, 3.0f, 7.5f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 4.5f, 3.0f, 7.5f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-5.0f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 4.5f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-5.0f, 3.0f,-7.5f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 4.5f, 3.0f,-7.5f), 5.0f, SOUND_BOUMm, 0.45f);
CreateShadowCircle(20.0f, 0.2f*fShadow);
}
@@ -4028,12 +4028,12 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(-5.0f, 3.0f, 7.5f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 4.5f, 3.0f, 7.5f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-5.0f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 4.5f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-5.0f, 3.0f,-7.5f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 4.5f, 3.0f,-7.5f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-5.0f, 3.0f, 7.5f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 4.5f, 3.0f, 7.5f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-5.0f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 4.5f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-5.0f, 3.0f,-7.5f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 4.5f, 3.0f,-7.5f), 5.0f, SOUND_BOUMm, 0.45f);
CreateShadowCircle(20.0f, 0.2f*fShadow);
}
@@ -4049,14 +4049,14 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(-5.0f, 3.0f, 7.5f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 4.5f, 3.0f, 7.5f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-5.0f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 4.5f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-5.0f, 3.0f,-7.5f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 4.5f, 3.0f,-7.5f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-5.0f, 3.0f, 7.5f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 4.5f, 3.0f, 7.5f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-5.0f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 4.5f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-5.0f, 3.0f,-7.5f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 4.5f, 3.0f,-7.5f), 5.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 10.0f, 0.0f), 12.0f);
+ SetGlobalSphere(Math::Vector(0.0f, 10.0f, 0.0f), 12.0f);
CreateShadowCircle(20.0f, 0.2f*fShadow);
}
@@ -4071,14 +4071,14 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(-5.0f, 3.0f, 7.5f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 4.5f, 3.0f, 7.5f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-5.0f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 4.5f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-5.0f, 3.0f,-7.5f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 4.5f, 3.0f,-7.5f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-5.0f, 3.0f, 7.5f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 4.5f, 3.0f, 7.5f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-5.0f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 4.5f, 3.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-5.0f, 3.0f,-7.5f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 4.5f, 3.0f,-7.5f), 5.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 10.0f, 0.0f), 12.0f);
+ SetGlobalSphere(Math::Vector(0.0f, 10.0f, 0.0f), 12.0f);
CreateShadowCircle(20.0f, 0.2f*fShadow);
}
@@ -4093,18 +4093,18 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(-26.0f, 3.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-15.0f, 3.0f,-4.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-15.0f, 3.0f, 5.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( -4.0f, 3.0f,-4.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( -4.0f, 3.0f, 5.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 6.0f, 3.0f,-4.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 6.0f, 3.0f, 4.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 14.0f, 3.0f,-3.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 14.0f, 3.0f, 2.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 24.0f, 3.0f, 5.0f), 6.0f, SOUND_BOUMm, 0.45f);
-
- SetGlobalSphere(D3DVECTOR(0.0f, 6.0f, 0.0f), 20.0f);
+ CreateCrashSphere(Math::Vector(-26.0f, 3.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-15.0f, 3.0f,-4.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-15.0f, 3.0f, 5.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( -4.0f, 3.0f,-4.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( -4.0f, 3.0f, 5.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 6.0f, 3.0f,-4.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 6.0f, 3.0f, 4.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 14.0f, 3.0f,-3.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 14.0f, 3.0f, 2.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 24.0f, 3.0f, 5.0f), 6.0f, SOUND_BOUMm, 0.45f);
+
+ SetGlobalSphere(Math::Vector(0.0f, 6.0f, 0.0f), 20.0f);
CreateShadowCircle(40.0f, 0.2f*fShadow);
}
@@ -4121,10 +4121,10 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetZoom(0, zoom);
mat = RetWorldMatrix(0);
- pos = Transform(*mat, D3DVECTOR(-56.0f, 22.0f, 0.0f));
- m_particule->CreateParticule(pos, D3DVECTOR(0.0f, 0.0f, 0.0f), Math::Point(20.0f, 20.0f), PARTISELY, 1.0f, 0.0f, 0.0f);
+ pos = Math::Transform(*mat, Math::Vector(-56.0f, 22.0f, 0.0f));
+ m_particule->CreateParticule(pos, Math::Vector(0.0f, 0.0f, 0.0f), Math::Point(20.0f, 20.0f), PARTISELY, 1.0f, 0.0f, 0.0f);
- pos = Transform(*mat, D3DVECTOR(-65.0f, 40.0f, 0.0f));
+ pos = Math::Transform(*mat, Math::Vector(-65.0f, 40.0f, 0.0f));
color.r = 4.0f;
color.g = 2.0f;
color.b = 0.0f; // yellow-orange
@@ -4144,8 +4144,8 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR( 0.0f, 4.0f, 0.0f), 4.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 9.0f, 0.0f), 5.0f);
+ CreateCrashSphere(Math::Vector( 0.0f, 4.0f, 0.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 9.0f, 0.0f), 5.0f);
CreateShadowCircle(4.5f, 1.0f*fShadow);
}
@@ -4160,17 +4160,17 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(-10.0f, 4.0f,-7.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 4.0f,-7.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 10.0f, 4.0f,-7.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-10.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 10.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-10.0f, 4.0f, 7.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 4.0f, 7.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 10.0f, 4.0f, 7.0f), 5.0f, SOUND_BOUMm, 0.45f);
-
- SetGlobalSphere(D3DVECTOR(0.0f, 5.0f, 0.0f), 15.0f);
+ CreateCrashSphere(Math::Vector(-10.0f, 4.0f,-7.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 4.0f,-7.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 10.0f, 4.0f,-7.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-10.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 10.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-10.0f, 4.0f, 7.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 4.0f, 7.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 10.0f, 4.0f, 7.0f), 5.0f, SOUND_BOUMm, 0.45f);
+
+ SetGlobalSphere(Math::Vector(0.0f, 5.0f, 0.0f), 15.0f);
CreateShadowCircle(20.0f, 1.0f*fShadow);
}
@@ -4185,17 +4185,17 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(-10.0f, 4.0f,-7.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 4.0f,-7.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 10.0f, 4.0f,-7.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-10.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 10.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-10.0f, 4.0f, 7.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 4.0f, 7.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 10.0f, 4.0f, 7.0f), 5.0f, SOUND_BOUMm, 0.45f);
-
- SetGlobalSphere(D3DVECTOR(0.0f, 5.0f, 0.0f), 15.0f);
+ CreateCrashSphere(Math::Vector(-10.0f, 4.0f,-7.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 4.0f,-7.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 10.0f, 4.0f,-7.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-10.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 10.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-10.0f, 4.0f, 7.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 4.0f, 7.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 10.0f, 4.0f, 7.0f), 5.0f, SOUND_BOUMm, 0.45f);
+
+ SetGlobalSphere(Math::Vector(0.0f, 5.0f, 0.0f), 15.0f);
CreateShadowCircle(20.0f, 1.0f*fShadow);
}
@@ -4210,17 +4210,17 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(-10.0f, 4.0f,-7.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 4.0f,-7.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 10.0f, 4.0f,-7.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-10.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 10.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-10.0f, 4.0f, 7.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 4.0f, 7.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 10.0f, 4.0f, 7.0f), 5.0f, SOUND_BOUMm, 0.45f);
-
- SetGlobalSphere(D3DVECTOR(0.0f, 5.0f, 0.0f), 15.0f);
+ CreateCrashSphere(Math::Vector(-10.0f, 4.0f,-7.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 4.0f,-7.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 10.0f, 4.0f,-7.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-10.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 10.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-10.0f, 4.0f, 7.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 4.0f, 7.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 10.0f, 4.0f, 7.0f), 5.0f, SOUND_BOUMm, 0.45f);
+
+ SetGlobalSphere(Math::Vector(0.0f, 5.0f, 0.0f), 15.0f);
CreateShadowCircle(20.0f, 1.0f*fShadow);
}
@@ -4235,10 +4235,10 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(-8.0f, 4.0f, 0.0f), 12.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 8.0f, 4.0f, 0.0f), 12.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-8.0f, 4.0f, 0.0f), 12.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 8.0f, 4.0f, 0.0f), 12.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 13.0f, 0.0f), 20.0f);
+ SetGlobalSphere(Math::Vector(0.0f, 13.0f, 0.0f), 20.0f);
CreateShadowCircle(18.0f, 1.0f*fShadow);
}
@@ -4253,8 +4253,8 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR( 0.0f, 31.0f, 0.0f), 31.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 31.0f, 0.0f), 31.0f);
+ CreateCrashSphere(Math::Vector( 0.0f, 31.0f, 0.0f), 31.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 31.0f, 0.0f), 31.0f);
CreateShadowCircle(24.0f, 0.5f*fShadow);
}
@@ -4269,8 +4269,8 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR( 0.0f, 31.0f, 0.0f), 31.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 31.0f, 0.0f), 31.0f);
+ CreateCrashSphere(Math::Vector( 0.0f, 31.0f, 0.0f), 31.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 31.0f, 0.0f), 31.0f);
CreateShadowCircle(24.0f, 0.5f*fShadow);
}
@@ -4285,8 +4285,8 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR( 0.0f, 10.0f, 0.0f), 32.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 10.0f, 0.0f), 32.0f);
+ CreateCrashSphere(Math::Vector( 0.0f, 10.0f, 0.0f), 32.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 10.0f, 0.0f), 32.0f);
CreateShadowCircle(33.0f, 1.0f*fShadow);
}
@@ -4301,14 +4301,14 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(-175.0f, 0.0f, -5.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-175.0f, 0.0f, -35.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( -55.0f, 0.0f, -5.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( -55.0f, 0.0f, -35.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( -37.0f, 0.0f, -5.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( -37.0f, 0.0f, -35.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 83.0f, 0.0f, -5.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 83.0f, 0.0f, -35.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-175.0f, 0.0f, -5.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-175.0f, 0.0f, -35.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( -55.0f, 0.0f, -5.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( -55.0f, 0.0f, -35.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( -37.0f, 0.0f, -5.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( -37.0f, 0.0f, -35.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 83.0f, 0.0f, -5.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 83.0f, 0.0f, -35.0f), 4.0f, SOUND_BOUMm, 0.45f);
}
if ( type == OBJECT_TEEN21 ) // wall with window
@@ -4334,10 +4334,10 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(-135.0f, 0.0f, -5.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-135.0f, 0.0f, -35.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( -15.0f, 0.0f, -5.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( -15.0f, 0.0f, -35.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-135.0f, 0.0f, -5.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-135.0f, 0.0f, -35.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( -15.0f, 0.0f, -5.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( -15.0f, 0.0f, -35.0f), 4.0f, SOUND_BOUMm, 0.45f);
}
if ( type == OBJECT_TEEN23 ) // skateboard on wheels
@@ -4353,16 +4353,16 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
if ( m_option == 1 ) // passage under the prohibited skateboard?
{
- CreateCrashSphere(D3DVECTOR(-10.0f, 2.0f, 0.0f), 11.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 10.0f, 2.0f, 0.0f), 11.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-10.0f, 2.0f, 0.0f), 11.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 10.0f, 2.0f, 0.0f), 11.0f, SOUND_BOUMm, 0.45f);
}
- CreateCrashSphere(D3DVECTOR(-23.0f, 2.0f, 7.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-23.0f, 2.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-23.0f, 2.0f,-7.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 23.0f, 2.0f, 7.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 23.0f, 2.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 23.0f, 2.0f,-7.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-23.0f, 2.0f, 7.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-23.0f, 2.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-23.0f, 2.0f,-7.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 23.0f, 2.0f, 7.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 23.0f, 2.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 23.0f, 2.0f,-7.0f), 3.0f, SOUND_BOUMm, 0.45f);
CreateShadowCircle(35.0f, 0.8f*fShadow, D3DSHADOWWORM);
}
@@ -4378,8 +4378,8 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(-12.0f, 0.0f, -3.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-12.0f, 0.0f, 3.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-12.0f, 0.0f, -3.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-12.0f, 0.0f, 3.0f), 3.0f, SOUND_BOUMm, 0.45f);
CreateShadowCircle(20.0f, 0.2f*fShadow);
}
@@ -4394,8 +4394,8 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(-12.0f, 0.0f, -3.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-12.0f, 0.0f, 3.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-12.0f, 0.0f, -3.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-12.0f, 0.0f, 3.0f), 3.0f, SOUND_BOUMm, 0.45f);
CreateShadowCircle(20.0f, 0.2f*fShadow);
}
@@ -4412,10 +4412,10 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetFloorHeight(0.0f);
mat = RetWorldMatrix(0);
- pos = Transform(*mat, D3DVECTOR(0.0f, 50.0f, 0.0f));
- m_particule->CreateParticule(pos, D3DVECTOR(0.0f, 0.0f, 0.0f), Math::Point(100.0f, 100.0f), PARTISELY, 1.0f, 0.0f, 0.0f);
+ pos = Math::Transform(*mat, Math::Vector(0.0f, 50.0f, 0.0f));
+ m_particule->CreateParticule(pos, Math::Vector(0.0f, 0.0f, 0.0f), Math::Point(100.0f, 100.0f), PARTISELY, 1.0f, 0.0f, 0.0f);
- pos = Transform(*mat, D3DVECTOR(0.0f, 50.0f, 0.0f));
+ pos = Math::Transform(*mat, Math::Vector(0.0f, 50.0f, 0.0f));
color.r = 4.0f;
color.g = 2.0f;
color.b = 0.0f; // yellow-orange
@@ -4434,7 +4434,7 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 4.0f, SOUND_BOUM, 0.10f);
+ CreateCrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 4.0f, SOUND_BOUM, 0.10f);
CreateShadowCircle(40.0f, 0.5f);
}
@@ -4450,7 +4450,7 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(0.0f, 2.0f, 0.0f), 5.0f, SOUND_BOUM, 0.10f);
+ CreateCrashSphere(Math::Vector(0.0f, 2.0f, 0.0f), 5.0f, SOUND_BOUM, 0.10f);
CreateShadowCircle(7.0f, 0.6f*fShadow);
}
@@ -4478,8 +4478,8 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(0.0f, 4.0f, 0.0f), 15.0f, SOUND_BOUM, 0.10f);
- SetGlobalSphere(D3DVECTOR(0.0f, 15.0f, 0.0f), 17.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 4.0f, 0.0f), 15.0f, SOUND_BOUM, 0.10f);
+ SetGlobalSphere(Math::Vector(0.0f, 15.0f, 0.0f), 17.0f);
CreateShadowCircle(20.0f, 1.0f*fShadow);
}
@@ -4494,11 +4494,11 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(-10.0f, 2.0f, 0.0f), 5.0f, SOUND_BOUM, 0.10f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 2.0f, 0.0f), 6.0f, SOUND_BOUM, 0.10f);
- CreateCrashSphere(D3DVECTOR( 9.0f, 4.0f, 1.0f), 6.0f, SOUND_BOUM, 0.10f);
+ CreateCrashSphere(Math::Vector(-10.0f, 2.0f, 0.0f), 5.0f, SOUND_BOUM, 0.10f);
+ CreateCrashSphere(Math::Vector( 0.0f, 2.0f, 0.0f), 6.0f, SOUND_BOUM, 0.10f);
+ CreateCrashSphere(Math::Vector( 9.0f, 4.0f, 1.0f), 6.0f, SOUND_BOUM, 0.10f);
- SetGlobalSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 10.0f);
+ SetGlobalSphere(Math::Vector(0.0f, 0.0f, 0.0f), 10.0f);
CreateShadowCircle(16.0f, 0.6f*fShadow);
}
@@ -4513,11 +4513,11 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR( 17.5f, 1.0f, 17.5f), 3.5f, SOUND_BOUM, 0.10f);
- CreateCrashSphere(D3DVECTOR( 17.5f, 1.0f, -17.5f), 3.5f, SOUND_BOUM, 0.10f);
- CreateCrashSphere(D3DVECTOR(-17.5f, 1.0f, 17.5f), 3.5f, SOUND_BOUM, 0.10f);
- CreateCrashSphere(D3DVECTOR(-17.5f, 1.0f, -17.5f), 3.5f, SOUND_BOUM, 0.10f);
- SetGlobalSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 26.0f);
+ CreateCrashSphere(Math::Vector( 17.5f, 1.0f, 17.5f), 3.5f, SOUND_BOUM, 0.10f);
+ CreateCrashSphere(Math::Vector( 17.5f, 1.0f, -17.5f), 3.5f, SOUND_BOUM, 0.10f);
+ CreateCrashSphere(Math::Vector(-17.5f, 1.0f, 17.5f), 3.5f, SOUND_BOUM, 0.10f);
+ CreateCrashSphere(Math::Vector(-17.5f, 1.0f, -17.5f), 3.5f, SOUND_BOUM, 0.10f);
+ SetGlobalSphere(Math::Vector(0.0f, 0.0f, 0.0f), 26.0f);
CreateShadowCircle(35.0f, 0.3f*fShadow);
}
@@ -4532,7 +4532,7 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(0.0f, 2.0f, 0.0f), 4.0f, SOUND_BOUM, 0.10f);
+ CreateCrashSphere(Math::Vector(0.0f, 2.0f, 0.0f), 4.0f, SOUND_BOUM, 0.10f);
CreateShadowCircle(10.0f, 0.3f*fShadow);
}
@@ -4547,7 +4547,7 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(0.0f, 2.0f, 0.0f), 4.0f, SOUND_BOUM, 0.10f);
+ CreateCrashSphere(Math::Vector(0.0f, 2.0f, 0.0f), 4.0f, SOUND_BOUM, 0.10f);
CreateShadowCircle(3.0f, 1.0f*fShadow);
}
@@ -4562,11 +4562,11 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(-40.0f, 5.0f, 0.0f), 10.0f, SOUND_BOUM, 0.10f);
- CreateCrashSphere(D3DVECTOR(-20.0f, 5.0f, 0.0f), 10.0f, SOUND_BOUM, 0.10f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 5.0f, 0.0f), 10.0f, SOUND_BOUM, 0.10f);
- CreateCrashSphere(D3DVECTOR( 20.0f, 5.0f, 0.0f), 10.0f, SOUND_BOUM, 0.10f);
- CreateCrashSphere(D3DVECTOR( 40.0f, 5.0f, 0.0f), 10.0f, SOUND_BOUM, 0.10f);
+ CreateCrashSphere(Math::Vector(-40.0f, 5.0f, 0.0f), 10.0f, SOUND_BOUM, 0.10f);
+ CreateCrashSphere(Math::Vector(-20.0f, 5.0f, 0.0f), 10.0f, SOUND_BOUM, 0.10f);
+ CreateCrashSphere(Math::Vector( 0.0f, 5.0f, 0.0f), 10.0f, SOUND_BOUM, 0.10f);
+ CreateCrashSphere(Math::Vector( 20.0f, 5.0f, 0.0f), 10.0f, SOUND_BOUM, 0.10f);
+ CreateCrashSphere(Math::Vector( 40.0f, 5.0f, 0.0f), 10.0f, SOUND_BOUM, 0.10f);
CreateShadowCircle(40.0f, 0.8f*fShadow, D3DSHADOWWORM);
}
@@ -4613,7 +4613,7 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetObjectParent(1, 0);
pModFile->ReadModel("objects\\teen38b.mod"); // engine
pModFile->CreateEngineObject(rank);
- SetPosition(1, D3DVECTOR(0.0f, 30.0f, 0.0f));
+ SetPosition(1, Math::Vector(0.0f, 30.0f, 0.0f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -4621,10 +4621,10 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetObjectParent(2, 1);
pModFile->ReadModel("objects\\teen38c.mod"); // propeller
pModFile->CreateEngineObject(rank);
- SetPosition(2, D3DVECTOR(0.0f, 0.0f, 0.0f));
+ SetPosition(2, Math::Vector(0.0f, 0.0f, 0.0f));
- CreateCrashSphere(D3DVECTOR(0.0f, 2.0f, 0.0f), 10.0f, SOUND_BOUM, 0.10f);
- SetGlobalSphere(D3DVECTOR(0.0f, 2.0f, 0.0f), 10.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 2.0f, 0.0f), 10.0f, SOUND_BOUM, 0.10f);
+ SetGlobalSphere(Math::Vector(0.0f, 2.0f, 0.0f), 10.0f);
CreateShadowCircle(15.0f, 0.5f*fShadow);
}
@@ -4639,8 +4639,8 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(0.0f, 2.0f, 0.0f), 8.5f, SOUND_BOUM, 0.10f);
- SetGlobalSphere(D3DVECTOR(0.0f, 2.0f, 0.0f), 8.5f);
+ CreateCrashSphere(Math::Vector(0.0f, 2.0f, 0.0f), 8.5f, SOUND_BOUM, 0.10f);
+ SetGlobalSphere(Math::Vector(0.0f, 2.0f, 0.0f), 8.5f);
CreateShadowCircle(10.0f, 1.0f*fShadow);
}
@@ -4655,8 +4655,8 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(0.0f, 5.0f, 0.0f), 11.0f, SOUND_BOUM, 0.10f);
- SetGlobalSphere(D3DVECTOR(0.0f, 14.0f, 0.0f), 15.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 5.0f, 0.0f), 11.0f, SOUND_BOUM, 0.10f);
+ SetGlobalSphere(Math::Vector(0.0f, 14.0f, 0.0f), 15.0f);
CreateShadowCircle(15.0f, 0.7f*fShadow);
}
@@ -4683,7 +4683,7 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(0.0f, 2.0f, 0.0f), 2.0f, SOUND_BOUM, 0.10f);
+ CreateCrashSphere(Math::Vector(0.0f, 2.0f, 0.0f), 2.0f, SOUND_BOUM, 0.10f);
CreateShadowCircle(15.0f, 0.4f*fShadow);
}
@@ -4698,7 +4698,7 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(0.0f, 2.0f, 0.0f), 2.0f, SOUND_BOUM, 0.10f);
+ CreateCrashSphere(Math::Vector(0.0f, 2.0f, 0.0f), 2.0f, SOUND_BOUM, 0.10f);
CreateShadowCircle(15.0f, 0.4f*fShadow);
}
@@ -4713,8 +4713,8 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
SetAngleY(0, angle);
SetZoom(0, zoom);
- CreateCrashSphere(D3DVECTOR(0.0f, 10.0f, 0.0f), 55.0f, SOUND_BOUM, 0.10f);
- SetGlobalSphere(D3DVECTOR(0.0f, 10.0f, 0.0f), 55.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 10.0f, 0.0f), 55.0f, SOUND_BOUM, 0.10f);
+ SetGlobalSphere(Math::Vector(0.0f, 10.0f, 0.0f), 55.0f);
CreateShadowCircle(55.0f, 1.0f*fShadow);
}
@@ -4739,7 +4739,7 @@ bool CObject::CreateTeen(D3DVECTOR pos, float angle, float zoom, float height,
// Creates a crystal placed on the ground.
-bool CObject::CreateQuartz(D3DVECTOR pos, float angle, float height,
+bool CObject::CreateQuartz(Math::Vector pos, float angle, float height,
ObjectType type)
{
CModFile* pModFile;
@@ -4762,8 +4762,8 @@ bool CObject::CreateQuartz(D3DVECTOR pos, float angle, float height,
SetPosition(0, pos);
SetAngleY(0, angle);
- CreateCrashSphere(D3DVECTOR(0.0f, 2.0f, 0.0f), 3.5f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 2.0f, 0.0f), 3.5f);
+ CreateCrashSphere(Math::Vector(0.0f, 2.0f, 0.0f), 3.5f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 2.0f, 0.0f), 3.5f);
CreateShadowCircle(4.0f, 0.5f);
}
@@ -4777,8 +4777,8 @@ bool CObject::CreateQuartz(D3DVECTOR pos, float angle, float height,
SetPosition(0, pos);
SetAngleY(0, angle);
- CreateCrashSphere(D3DVECTOR(0.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 4.0f, 0.0f), 5.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 4.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 4.0f, 0.0f), 5.0f);
CreateShadowCircle(5.0f, 0.5f);
}
@@ -4792,8 +4792,8 @@ bool CObject::CreateQuartz(D3DVECTOR pos, float angle, float height,
SetPosition(0, pos);
SetAngleY(0, angle);
- CreateCrashSphere(D3DVECTOR(0.0f, 6.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 6.0f, 0.0f), 6.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 6.0f, 0.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 6.0f, 0.0f), 6.0f);
CreateShadowCircle(6.0f, 0.5f);
}
@@ -4807,8 +4807,8 @@ bool CObject::CreateQuartz(D3DVECTOR pos, float angle, float height,
SetPosition(0, pos);
SetAngleY(0, angle);
- CreateCrashSphere(D3DVECTOR(0.0f, 10.0f, 0.0f), 10.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 10.0f, 0.0f), 10.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 10.0f, 0.0f), 10.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 10.0f, 0.0f), 10.0f);
CreateShadowCircle(10.0f, 0.5f);
}
@@ -4852,7 +4852,7 @@ bool CObject::CreateQuartz(D3DVECTOR pos, float angle, float height,
// Creates a root placed on the ground.
-bool CObject::CreateRoot(D3DVECTOR pos, float angle, float height,
+bool CObject::CreateRoot(Math::Vector pos, float angle, float height,
ObjectType type)
{
CModFile* pModFile;
@@ -4875,14 +4875,14 @@ bool CObject::CreateRoot(D3DVECTOR pos, float angle, float height,
SetAngleY(0, angle);
SetZoom(0, 2.0f);
- CreateCrashSphere(D3DVECTOR(-5.0f, 1.0f, 0.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 4.0f, 1.0f, 2.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 4.0f, 1.0f, -3.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 2.0f, 5.0f, -1.0f), 1.5f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR(-4.0f, 5.0f, -1.0f), 1.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR(-2.0f, 8.0f, -0.5f), 1.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 10.0f, -0.5f), 1.0f, SOUND_BOUMv, 0.15f);
-//? SetGlobalSphere(D3DVECTOR(0.0f, 6.0f, 0.0f), 11.0f);
+ CreateCrashSphere(Math::Vector(-5.0f, 1.0f, 0.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 4.0f, 1.0f, 2.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 4.0f, 1.0f, -3.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 2.0f, 5.0f, -1.0f), 1.5f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector(-4.0f, 5.0f, -1.0f), 1.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector(-2.0f, 8.0f, -0.5f), 1.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 0.0f, 10.0f, -0.5f), 1.0f, SOUND_BOUMv, 0.15f);
+//? SetGlobalSphere(Math::Vector(0.0f, 6.0f, 0.0f), 11.0f);
CreateShadowCircle(16.0f, 0.5f);
}
@@ -4897,14 +4897,14 @@ bool CObject::CreateRoot(D3DVECTOR pos, float angle, float height,
SetAngleY(0, angle);
SetZoom(0, 2.0f);
- CreateCrashSphere(D3DVECTOR(-4.0f, 1.0f, 1.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 1.0f, 2.0f), 1.5f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 3.0f, 1.0f, -2.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR(-2.0f, 5.0f, 1.0f), 1.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 2.0f, 5.0f, 0.0f), 1.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 8.0f, 1.0f), 1.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 12.0f, 1.0f), 1.0f, SOUND_BOUMv, 0.15f);
-//? SetGlobalSphere(D3DVECTOR(0.0f, 6.0f, 0.0f), 12.0f);
+ CreateCrashSphere(Math::Vector(-4.0f, 1.0f, 1.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 0.0f, 1.0f, 2.0f), 1.5f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 3.0f, 1.0f, -2.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector(-2.0f, 5.0f, 1.0f), 1.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 2.0f, 5.0f, 0.0f), 1.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 0.0f, 8.0f, 1.0f), 1.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 0.0f, 12.0f, 1.0f), 1.0f, SOUND_BOUMv, 0.15f);
+//? SetGlobalSphere(Math::Vector(0.0f, 6.0f, 0.0f), 12.0f);
CreateShadowCircle(16.0f, 0.5f);
}
@@ -4919,13 +4919,13 @@ bool CObject::CreateRoot(D3DVECTOR pos, float angle, float height,
SetAngleY(0, angle);
SetZoom(0, 2.0f);
- CreateCrashSphere(D3DVECTOR(-3.0f, 1.0f, 0.5f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 3.0f, 1.0f, -1.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR(-1.0f, 4.5f, 0.0f), 1.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 3.0f, 7.0f, 1.0f), 1.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 7.0f, -1.0f), 1.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 4.0f, 11.0f, 1.0f), 1.0f, SOUND_BOUMv, 0.15f);
-//? SetGlobalSphere(D3DVECTOR(0.0f, 6.0f, 0.0f), 10.0f);
+ CreateCrashSphere(Math::Vector(-3.0f, 1.0f, 0.5f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 3.0f, 1.0f, -1.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector(-1.0f, 4.5f, 0.0f), 1.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 3.0f, 7.0f, 1.0f), 1.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 0.0f, 7.0f, -1.0f), 1.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 4.0f, 11.0f, 1.0f), 1.0f, SOUND_BOUMv, 0.15f);
+//? SetGlobalSphere(Math::Vector(0.0f, 6.0f, 0.0f), 10.0f);
CreateShadowCircle(16.0f, 0.5f);
}
@@ -4940,15 +4940,15 @@ bool CObject::CreateRoot(D3DVECTOR pos, float angle, float height,
SetAngleY(0, angle);
SetZoom(0, 2.0f);
- CreateCrashSphere(D3DVECTOR(-4.0f, 1.0f, 1.0f), 3.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 4.0f, 1.0f, -3.0f), 3.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 6.0f, 1.0f, 4.0f), 3.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR(-2.5f, 7.0f, 2.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 4.0f, 7.0f, 2.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 3.0f, 6.0f, -1.0f), 1.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 12.0f, 0.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 1.0f, 16.0f, 0.0f), 1.0f, SOUND_BOUMv, 0.15f);
-//? SetGlobalSphere(D3DVECTOR(0.0f, 10.0f, 0.0f), 14.0f);
+ CreateCrashSphere(Math::Vector(-4.0f, 1.0f, 1.0f), 3.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 4.0f, 1.0f, -3.0f), 3.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 6.0f, 1.0f, 4.0f), 3.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector(-2.5f, 7.0f, 2.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 4.0f, 7.0f, 2.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 3.0f, 6.0f, -1.0f), 1.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 0.0f, 12.0f, 0.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 1.0f, 16.0f, 0.0f), 1.0f, SOUND_BOUMv, 0.15f);
+//? SetGlobalSphere(Math::Vector(0.0f, 10.0f, 0.0f), 14.0f);
CreateShadowCircle(22.0f, 0.5f);
}
@@ -4963,17 +4963,17 @@ bool CObject::CreateRoot(D3DVECTOR pos, float angle, float height,
SetAngleY(0, angle);
SetZoom(0, 2.0f);
- CreateCrashSphere(D3DVECTOR( -7.0f, 2.0f, 3.0f), 4.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 5.0f, 2.0f, -6.0f), 4.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 6.0f, 2.0f, 6.0f), 3.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR(-11.0f, 1.0f, -2.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 1.0f, 1.0f, -7.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( -4.0f, 10.0f, 3.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 1.0f, 11.0f, 7.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 3.0f, 11.0f, -3.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( -3.0f, 17.0f, 1.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( -3.0f, 23.0f, -1.0f), 2.0f, SOUND_BOUMv, 0.15f);
-//? SetGlobalSphere(D3DVECTOR(0.0f, 12.0f, 0.0f), 20.0f);
+ CreateCrashSphere(Math::Vector( -7.0f, 2.0f, 3.0f), 4.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 5.0f, 2.0f, -6.0f), 4.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 6.0f, 2.0f, 6.0f), 3.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector(-11.0f, 1.0f, -2.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 1.0f, 1.0f, -7.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( -4.0f, 10.0f, 3.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 1.0f, 11.0f, 7.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 3.0f, 11.0f, -3.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( -3.0f, 17.0f, 1.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( -3.0f, 23.0f, -1.0f), 2.0f, SOUND_BOUMv, 0.15f);
+//? SetGlobalSphere(Math::Vector(0.0f, 12.0f, 0.0f), 20.0f);
CreateShadowCircle(30.0f, 0.5f);
}
@@ -4994,21 +4994,21 @@ bool CObject::CreateRoot(D3DVECTOR pos, float angle, float height,
SetObjectParent(1, 0);
pModFile->ReadModel("objects\\root5.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(1, D3DVECTOR(-5.0f, 28.0f, -4.0f));
+ SetPosition(1, Math::Vector(-5.0f, 28.0f, -4.0f));
SetAngleX(1, -30.0f*Math::PI/180.0f);
SetAngleZ(1, 20.0f*Math::PI/180.0f);
- CreateCrashSphere(D3DVECTOR( -7.0f, 2.0f, 3.0f), 4.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 5.0f, 2.0f, -6.0f), 4.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 6.0f, 2.0f, 6.0f), 3.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR(-11.0f, 1.0f, -2.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 1.0f, 1.0f, -7.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( -4.0f, 10.0f, 3.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 1.0f, 11.0f, 7.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( 3.0f, 11.0f, -3.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( -3.0f, 17.0f, 1.0f), 2.0f, SOUND_BOUMv, 0.15f);
- CreateCrashSphere(D3DVECTOR( -3.0f, 23.0f, -1.0f), 2.0f, SOUND_BOUMv, 0.15f);
-//? SetGlobalSphere(D3DVECTOR(0.0f, 12.0f, 0.0f), 20.0f);
+ CreateCrashSphere(Math::Vector( -7.0f, 2.0f, 3.0f), 4.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 5.0f, 2.0f, -6.0f), 4.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 6.0f, 2.0f, 6.0f), 3.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector(-11.0f, 1.0f, -2.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 1.0f, 1.0f, -7.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( -4.0f, 10.0f, 3.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 1.0f, 11.0f, 7.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( 3.0f, 11.0f, -3.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( -3.0f, 17.0f, 1.0f), 2.0f, SOUND_BOUMv, 0.15f);
+ CreateCrashSphere(Math::Vector( -3.0f, 23.0f, -1.0f), 2.0f, SOUND_BOUMv, 0.15f);
+//? SetGlobalSphere(Math::Vector(0.0f, 12.0f, 0.0f), 20.0f);
CreateShadowCircle(30.0f, 0.5f);
}
@@ -5029,7 +5029,7 @@ bool CObject::CreateRoot(D3DVECTOR pos, float angle, float height,
// Creates a small home.
-bool CObject::CreateHome(D3DVECTOR pos, float angle, float height,
+bool CObject::CreateHome(Math::Vector pos, float angle, float height,
ObjectType type)
{
CModFile* pModFile;
@@ -5052,8 +5052,8 @@ bool CObject::CreateHome(D3DVECTOR pos, float angle, float height,
SetAngleY(0, angle);
SetZoom(0, 1.3f);
- CreateCrashSphere(D3DVECTOR(0.0f, 5.0f, 0.0f), 10.0f, SOUND_BOUMs, 0.25f);
-//? SetGlobalSphere(D3DVECTOR(0.0f, 6.0f, 0.0f), 11.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 5.0f, 0.0f), 10.0f, SOUND_BOUMs, 0.25f);
+//? SetGlobalSphere(Math::Vector(0.0f, 6.0f, 0.0f), 11.0f);
CreateShadowCircle(16.0f, 0.5f);
}
@@ -5073,7 +5073,7 @@ bool CObject::CreateHome(D3DVECTOR pos, float angle, float height,
// Creates ruin placed on the ground.
-bool CObject::CreateRuin(D3DVECTOR pos, float angle, float height,
+bool CObject::CreateRuin(Math::Vector pos, float angle, float height,
ObjectType type)
{
CModFile* pModFile;
@@ -5122,7 +5122,7 @@ bool CObject::CreateRuin(D3DVECTOR pos, float angle, float height,
pModFile->ReadModel("objects\\ruin1w.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(6, D3DVECTOR(-3.0f, 1.8f, -4.0f));
+ SetPosition(6, Math::Vector(-3.0f, 1.8f, -4.0f));
SetAngleX(6, -Math::PI/2.0f);
// Creates the left-back wheel.
@@ -5134,7 +5134,7 @@ bool CObject::CreateRuin(D3DVECTOR pos, float angle, float height,
pModFile->ReadModel("objects\\ruin1w.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(7, D3DVECTOR(-3.0f, 1.0f, 3.0f));
+ SetPosition(7, Math::Vector(-3.0f, 1.0f, 3.0f));
SetAngleY(7, Math::PI-0.3f);
SetAngleX(7, -0.3f);
@@ -5147,7 +5147,7 @@ bool CObject::CreateRuin(D3DVECTOR pos, float angle, float height,
pModFile->ReadModel("objects\\ruin1w.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(8, D3DVECTOR(2.0f, 1.6f, -3.0f));
+ SetPosition(8, Math::Vector(2.0f, 1.6f, -3.0f));
SetAngleY(8, 0.3f);
// Creates the left-front wheel.
@@ -5159,12 +5159,12 @@ bool CObject::CreateRuin(D3DVECTOR pos, float angle, float height,
pModFile->ReadModel("objects\\ruin1w.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(9, D3DVECTOR(2.0f, 1.0f, 3.0f));
+ SetPosition(9, Math::Vector(2.0f, 1.0f, 3.0f));
SetAngleY(9, Math::PI-0.2f);
SetAngleX(9, 0.2f);
- CreateCrashSphere(D3DVECTOR(0.0f, 2.8f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
-//? SetGlobalSphere(D3DVECTOR(0.0f, 5.0f, 0.0f), 10.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 2.8f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+//? SetGlobalSphere(Math::Vector(0.0f, 5.0f, 0.0f), 10.0f);
CreateShadowCircle(4.0f, 1.0f);
}
@@ -5180,7 +5180,7 @@ bool CObject::CreateRuin(D3DVECTOR pos, float angle, float height,
pModFile->ReadModel("objects\\ruin1w.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(7, D3DVECTOR(-3.0f, 1.0f, 3.0f));
+ SetPosition(7, Math::Vector(-3.0f, 1.0f, 3.0f));
SetAngleY(7, Math::PI+0.3f);
SetAngleX(7, 0.4f);
@@ -5193,12 +5193,12 @@ bool CObject::CreateRuin(D3DVECTOR pos, float angle, float height,
pModFile->ReadModel("objects\\ruin1w.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(9, D3DVECTOR(2.0f, 1.0f, 3.0f));
+ SetPosition(9, Math::Vector(2.0f, 1.0f, 3.0f));
SetAngleY(9, Math::PI+0.3f);
SetAngleX(9, -0.3f);
- CreateCrashSphere(D3DVECTOR(0.0f, 2.8f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
-//? SetGlobalSphere(D3DVECTOR(0.0f, 5.0f, 0.0f), 10.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 2.8f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+//? SetGlobalSphere(Math::Vector(0.0f, 5.0f, 0.0f), 10.0f);
CreateShadowCircle(4.0f, 1.0f);
}
@@ -5214,77 +5214,77 @@ bool CObject::CreateRuin(D3DVECTOR pos, float angle, float height,
pModFile->ReadModel("objects\\ruin2c.mod");
pModFile->CreateEngineObject(rank);
- SetPosition(1, D3DVECTOR(3.0f, 5.0f, -2.5f));
+ SetPosition(1, Math::Vector(3.0f, 5.0f, -2.5f));
SetAngleX(1, -Math::PI*0.85f);
SetAngleY(1, -0.4f);
SetAngleZ(1, -0.1f);
- CreateCrashSphere(D3DVECTOR(1.0f, 2.8f, -1.0f), 5.0f, SOUND_BOUMm, 0.45f);
-//? SetGlobalSphere(D3DVECTOR(1.0f, 5.0f, -1.0f), 10.0f);
+ CreateCrashSphere(Math::Vector(1.0f, 2.8f, -1.0f), 5.0f, SOUND_BOUMm, 0.45f);
+//? SetGlobalSphere(Math::Vector(1.0f, 5.0f, -1.0f), 10.0f);
CreateShadowCircle(5.0f, 1.0f);
}
if ( type == OBJECT_RUINmobilet2 ) // vehicle have caterpillars?
{
- CreateCrashSphere(D3DVECTOR(0.0f, 2.8f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
-//? SetGlobalSphere(D3DVECTOR(0.0f, 5.0f, 0.0f), 10.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 2.8f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+//? SetGlobalSphere(Math::Vector(0.0f, 5.0f, 0.0f), 10.0f);
CreateShadowCircle(5.0f, 1.0f);
}
if ( type == OBJECT_RUINmobiler1 ) // vehicle skating?
{
- CreateCrashSphere(D3DVECTOR(1.0f, 2.8f, -1.0f), 5.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(1.0f, 5.0f, -1.0f), 10.0f);
+ CreateCrashSphere(Math::Vector(1.0f, 2.8f, -1.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(1.0f, 5.0f, -1.0f), 10.0f);
CreateShadowCircle(5.0f, 1.0f);
}
if ( type == OBJECT_RUINmobiler2 ) // vehicle skating?
{
- CreateCrashSphere(D3DVECTOR(0.0f, 1.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 5.0f, 0.0f), 10.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 1.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 5.0f, 0.0f), 10.0f);
CreateShadowCircle(6.0f, 1.0f);
}
if ( type == OBJECT_RUINfactory ) // factory ?
{
- CreateCrashSphere(D3DVECTOR( 9.0f, 1.0f, -11.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 2.0f, -11.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-10.0f, 4.0f, -10.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-12.0f, 11.0f, -4.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-10.0f, 4.0f, -2.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-11.0f, 8.0f, 3.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-11.0f, 2.0f, 4.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-11.0f, 2.0f, 10.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( -4.0f, 0.0f, 10.0f), 3.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 18.0f);
+ CreateCrashSphere(Math::Vector( 9.0f, 1.0f, -11.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 2.0f, -11.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-10.0f, 4.0f, -10.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-12.0f, 11.0f, -4.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-10.0f, 4.0f, -2.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-11.0f, 8.0f, 3.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-11.0f, 2.0f, 4.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-11.0f, 2.0f, 10.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( -4.0f, 0.0f, 10.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 0.0f, 0.0f), 18.0f);
CreateShadowCircle(20.0f, 0.7f);
}
if ( type == OBJECT_RUINdoor ) // converter holder?
{
- CreateCrashSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
-//? SetGlobalSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 6.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+//? SetGlobalSphere(Math::Vector(0.0f, 0.0f, 0.0f), 6.0f);
CreateShadowCircle(6.0f, 1.0f);
}
if ( type == OBJECT_RUINsupport ) // radar holder?
{
- CreateCrashSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
-//? SetGlobalSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 4.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+//? SetGlobalSphere(Math::Vector(0.0f, 0.0f, 0.0f), 4.0f);
CreateShadowCircle(3.0f, 1.0f);
}
if ( type == OBJECT_RUINradar ) // radar base?
{
- CreateCrashSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
-//? SetGlobalSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 6.0f);
+ CreateCrashSphere(Math::Vector(0.0f, 0.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+//? SetGlobalSphere(Math::Vector(0.0f, 0.0f, 0.0f), 6.0f);
CreateShadowCircle(6.0f, 1.0f);
}
@@ -5293,48 +5293,48 @@ bool CObject::CreateRuin(D3DVECTOR pos, float angle, float height,
{
m_terrain->AddBuildingLevel(pos, 7.0f, 9.0f, 1.0f, 0.5f);
- CreateCrashSphere(D3DVECTOR(-10.0f, 0.0f, 4.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-10.0f, 0.0f, -4.0f), 5.0f, SOUND_BOUMm, 0.45f);
-//? SetGlobalSphere(D3DVECTOR(-3.0f, 0.0f, 0.0f), 14.0f);
+ CreateCrashSphere(Math::Vector(-10.0f, 0.0f, 4.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-10.0f, 0.0f, -4.0f), 5.0f, SOUND_BOUMm, 0.45f);
+//? SetGlobalSphere(Math::Vector(-3.0f, 0.0f, 0.0f), 14.0f);
}
if ( type == OBJECT_RUINbase ) // base?
{
- CreateCrashSphere(D3DVECTOR( 0.0f, 15.0f, 0.0f),28.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 17.0f, 6.0f, 42.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 17.0f, 17.0f, 42.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-17.0f, 6.0f, 42.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-17.0f, 17.0f, 42.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-42.0f, 6.0f, 17.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-42.0f, 17.0f, 17.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-42.0f, 6.0f, -17.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-42.0f, 17.0f, -17.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-17.0f, 6.0f, -42.0f), 6.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-17.0f, 10.0f, -42.0f), 4.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 15.0f, 13.0f, -34.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 31.0f, 15.0f, -13.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 21.0f, 8.0f, -39.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 26.0f, 8.0f, -33.0f), 5.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 48.0f);
+ CreateCrashSphere(Math::Vector( 0.0f, 15.0f, 0.0f),28.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 17.0f, 6.0f, 42.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 17.0f, 17.0f, 42.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-17.0f, 6.0f, 42.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-17.0f, 17.0f, 42.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-42.0f, 6.0f, 17.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-42.0f, 17.0f, 17.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-42.0f, 6.0f, -17.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-42.0f, 17.0f, -17.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-17.0f, 6.0f, -42.0f), 6.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-17.0f, 10.0f, -42.0f), 4.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 15.0f, 13.0f, -34.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 31.0f, 15.0f, -13.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 21.0f, 8.0f, -39.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 26.0f, 8.0f, -33.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 0.0f, 0.0f), 48.0f);
CreateShadowCircle(40.0f, 1.0f);
}
if ( type == OBJECT_RUINhead ) // base cap?
{
- CreateCrashSphere(D3DVECTOR( 0.0f, 13.0f, 0.0f),20.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, -8.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f,-16.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f,-22.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-21.0f, 7.0f, 9.0f), 8.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( -9.0f, 7.0f, 21.0f), 8.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 21.0f, 7.0f, 9.0f), 8.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 9.0f, 7.0f, 21.0f), 8.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-21.0f, 7.0f, -9.0f), 8.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( -9.0f, 7.0f, -21.0f), 8.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 21.0f, 7.0f, -9.0f), 8.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 9.0f, 7.0f, -21.0f), 8.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 0.0f, 0.0f), 35.0f);
+ CreateCrashSphere(Math::Vector( 0.0f, 13.0f, 0.0f),20.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, -8.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f,-16.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f,-22.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-21.0f, 7.0f, 9.0f), 8.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( -9.0f, 7.0f, 21.0f), 8.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 21.0f, 7.0f, 9.0f), 8.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 9.0f, 7.0f, 21.0f), 8.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-21.0f, 7.0f, -9.0f), 8.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( -9.0f, 7.0f, -21.0f), 8.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 21.0f, 7.0f, -9.0f), 8.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 9.0f, 7.0f, -21.0f), 8.0f, SOUND_BOUMm, 0.45f);
+ SetGlobalSphere(Math::Vector(0.0f, 0.0f, 0.0f), 35.0f);
CreateShadowCircle(30.0f, 1.0f);
}
@@ -5500,7 +5500,7 @@ bool CObject::CreateRuin(D3DVECTOR pos, float angle, float height,
// Creates a gadget apollo.
-bool CObject::CreateApollo(D3DVECTOR pos, float angle, ObjectType type)
+bool CObject::CreateApollo(Math::Vector pos, float angle, ObjectType type)
{
CModFile* pModFile;
int rank, i;
@@ -5543,13 +5543,13 @@ bool CObject::CreateApollo(D3DVECTOR pos, float angle, ObjectType type)
//? m_terrain->AddBuildingLevel(pos, 10.0f, 13.0f, 12.0f, 0.0f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 4.0f, 0.0f), 9.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 11.0f, 5.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-11.0f, 5.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 5.0f, -11.0f), 3.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 0.0f, 5.0f, 11.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 4.0f, 0.0f), 9.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 11.0f, 5.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-11.0f, 5.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 5.0f, -11.0f), 3.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 0.0f, 5.0f, 11.0f), 3.0f, SOUND_BOUMm, 0.45f);
- SetGlobalSphere(D3DVECTOR(0.0f, 4.0f, 0.0f), 9.0f);
+ SetGlobalSphere(Math::Vector(0.0f, 4.0f, 0.0f), 9.0f);
CreateShadowCircle(16.0f, 0.5f);
}
@@ -5572,7 +5572,7 @@ bool CObject::CreateApollo(D3DVECTOR pos, float angle, ObjectType type)
SetObjectParent(1, 0);
pModFile->ReadModel("objects\\apolloj4.mod"); // wheel
pModFile->CreateEngineObject(rank);
- SetPosition(1, D3DVECTOR(-5.75f, 1.65f, -5.0f));
+ SetPosition(1, Math::Vector(-5.75f, 1.65f, -5.0f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -5580,7 +5580,7 @@ bool CObject::CreateApollo(D3DVECTOR pos, float angle, ObjectType type)
SetObjectParent(2, 0);
pModFile->ReadModel("objects\\apolloj4.mod"); // wheel
pModFile->CreateEngineObject(rank);
- SetPosition(2, D3DVECTOR(-5.75f, 1.65f, 5.0f));
+ SetPosition(2, Math::Vector(-5.75f, 1.65f, 5.0f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -5588,7 +5588,7 @@ bool CObject::CreateApollo(D3DVECTOR pos, float angle, ObjectType type)
SetObjectParent(3, 0);
pModFile->ReadModel("objects\\apolloj4.mod"); // wheel
pModFile->CreateEngineObject(rank);
- SetPosition(3, D3DVECTOR(5.75f, 1.65f, -5.0f));
+ SetPosition(3, Math::Vector(5.75f, 1.65f, -5.0f));
rank = m_engine->CreateObject();
m_engine->SetObjectType(rank, TYPEDESCENDANT);
@@ -5596,7 +5596,7 @@ bool CObject::CreateApollo(D3DVECTOR pos, float angle, ObjectType type)
SetObjectParent(4, 0);
pModFile->ReadModel("objects\\apolloj4.mod"); // wheel
pModFile->CreateEngineObject(rank);
- SetPosition(4, D3DVECTOR(5.75f, 1.65f, 5.0f));
+ SetPosition(4, Math::Vector(5.75f, 1.65f, 5.0f));
// Accessories:
rank = m_engine->CreateObject();
@@ -5605,7 +5605,7 @@ bool CObject::CreateApollo(D3DVECTOR pos, float angle, ObjectType type)
SetObjectParent(5, 0);
pModFile->ReadModel("objects\\apolloj2.mod"); // antenna
pModFile->CreateEngineObject(rank);
- SetPosition(5, D3DVECTOR(5.5f, 8.8f, 2.0f));
+ SetPosition(5, Math::Vector(5.5f, 8.8f, 2.0f));
SetAngleY(5, -120.0f*Math::PI/180.0f);
SetAngleZ(5, 45.0f*Math::PI/180.0f);
@@ -5615,12 +5615,12 @@ bool CObject::CreateApollo(D3DVECTOR pos, float angle, ObjectType type)
SetObjectParent(6, 0);
pModFile->ReadModel("objects\\apolloj3.mod"); // camera
pModFile->CreateEngineObject(rank);
- SetPosition(6, D3DVECTOR(5.5f, 2.8f, -2.0f));
+ SetPosition(6, Math::Vector(5.5f, 2.8f, -2.0f));
SetAngleY(6, 30.0f*Math::PI/180.0f);
- CreateCrashSphere(D3DVECTOR( 3.0f, 2.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR(-3.0f, 2.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
- CreateCrashSphere(D3DVECTOR( 7.0f, 9.0f, 2.0f), 2.0f, SOUND_BOUMm, 0.20f);
+ CreateCrashSphere(Math::Vector( 3.0f, 2.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(-3.0f, 2.0f, 0.0f), 5.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector( 7.0f, 9.0f, 2.0f), 2.0f, SOUND_BOUMm, 0.20f);
CreateShadowCircle(7.0f, 0.8f);
@@ -5638,7 +5638,7 @@ bool CObject::CreateApollo(D3DVECTOR pos, float angle, ObjectType type)
SetAngleY(0, angle);
SetFloorHeight(0.0f);
- SetJotlerSphere(D3DVECTOR(0.0f, 4.0f, 0.0f), 1.0f);
+ SetJotlerSphere(Math::Vector(0.0f, 4.0f, 0.0f), 1.0f);
CreateShadowCircle(2.0f, 0.3f);
}
@@ -5653,7 +5653,7 @@ bool CObject::CreateApollo(D3DVECTOR pos, float angle, ObjectType type)
SetAngleY(0, angle);
SetFloorHeight(0.0f);
- CreateCrashSphere(D3DVECTOR(0.0f, 2.0f, 0.0f), 2.0f, SOUND_BOUMm, 0.45f);
+ CreateCrashSphere(Math::Vector(0.0f, 2.0f, 0.0f), 2.0f, SOUND_BOUMm, 0.45f);
CreateShadowCircle(5.0f, 0.8f);
FloorAdjust();
@@ -5676,11 +5676,11 @@ bool CObject::CreateApollo(D3DVECTOR pos, float angle, ObjectType type)
SetObjectParent(1, 0);
pModFile->ReadModel("objects\\apolloj2.mod"); // antenna
pModFile->CreateEngineObject(rank);
- SetPosition(1, D3DVECTOR(0.0f, 5.0f, 0.0f));
+ SetPosition(1, Math::Vector(0.0f, 5.0f, 0.0f));
SetAngleY(1, -120.0f*Math::PI/180.0f);
SetAngleZ(1, 45.0f*Math::PI/180.0f);
- CreateCrashSphere(D3DVECTOR(0.0f, 4.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.35f);
+ CreateCrashSphere(Math::Vector(0.0f, 4.0f, 0.0f), 3.0f, SOUND_BOUMm, 0.35f);
CreateShadowCircle(3.0f, 0.7f);
}
@@ -5850,7 +5850,7 @@ bool CObject::RunProgram(int rank)
bool CObject::UpdateTransformObject(int part, bool bForceUpdate)
{
- D3DVECTOR position, angle, eye;
+ Math::Vector position, angle, eye;
bool bModif = false;
int parent;
@@ -5878,32 +5878,31 @@ bool CObject::UpdateTransformObject(int part, bool bForceUpdate)
{
if ( m_objectPart[part].bTranslate )
{
- D3DUtil_SetIdentityMatrix(m_objectPart[part].matTranslate);
- m_objectPart[part].matTranslate._41 = position.x;
- m_objectPart[part].matTranslate._42 = position.y;
- m_objectPart[part].matTranslate._43 = position.z;
+ m_objectPart[part].matTranslate.LoadIdentity();
+ m_objectPart[part].matTranslate.Set(1, 4, position.x);
+ m_objectPart[part].matTranslate.Set(2, 4, position.y);
+ m_objectPart[part].matTranslate.Set(3, 4, position.z);
}
if ( m_objectPart[part].bRotate )
{
- MatRotateZXY(m_objectPart[part].matRotate, angle);
+ Math::LoadRotationZXYMatrix(m_objectPart[part].matRotate, angle);
}
if ( m_objectPart[part].bZoom )
{
- D3DMATRIX mz;
- D3DUtil_SetIdentityMatrix(mz);
- mz._11 = m_objectPart[part].zoom.x;
- mz._22 = m_objectPart[part].zoom.y;
- mz._33 = m_objectPart[part].zoom.z;
- m_objectPart[part].matTransform = mz *
- m_objectPart[part].matRotate *
- m_objectPart[part].matTranslate;
+ Math::Matrix mz;
+ mz.LoadIdentity();
+ mz.Set(1, 1, m_objectPart[part].zoom.x);
+ mz.Set(2, 2, m_objectPart[part].zoom.y);
+ mz.Set(3, 3, m_objectPart[part].zoom.z);
+ m_objectPart[part].matTransform = Math::MultiplyMatrices(m_objectPart[part].matTranslate,
+ Math::MultiplyMatrices(m_objectPart[part].matRotate, mz));
}
else
{
- m_objectPart[part].matTransform = m_objectPart[part].matRotate *
- m_objectPart[part].matTranslate;
+ m_objectPart[part].matTransform = Math::MultiplyMatrices(m_objectPart[part].matTranslate,
+ m_objectPart[part].matRotate);
}
bModif = true;
}
@@ -5916,10 +5915,10 @@ bool CObject::UpdateTransformObject(int part, bool bForceUpdate)
if ( part == 0 && m_truck != 0 ) // transported by a truck?
{
- D3DMATRIX* matWorldTruck;
+ Math::Matrix* matWorldTruck;
matWorldTruck = m_truck->RetWorldMatrix(m_truckLink);
- m_objectPart[part].matWorld = m_objectPart[part].matTransform *
- *matWorldTruck;
+ m_objectPart[part].matWorld = Math::MultiplyMatrices(*matWorldTruck,
+ m_objectPart[part].matTransform);
}
else
{
@@ -5929,8 +5928,8 @@ bool CObject::UpdateTransformObject(int part, bool bForceUpdate)
}
else
{
- m_objectPart[part].matWorld = m_objectPart[part].matTransform *
- m_objectPart[parent].matWorld;
+ m_objectPart[part].matWorld = Math::MultiplyMatrices(m_objectPart[parent].matWorld,
+ m_objectPart[part].matTransform);
}
}
bModif = true;
@@ -6020,17 +6019,17 @@ void CObject::FlatParent()
for ( i=0 ; i<m_totalPart ; i++ )
{
- m_objectPart[i].position.x = m_objectPart[i].matWorld._41;
- m_objectPart[i].position.y = m_objectPart[i].matWorld._42;
- m_objectPart[i].position.z = m_objectPart[i].matWorld._43;
+ m_objectPart[i].position.x = m_objectPart[i].matWorld.Get(1, 4);
+ m_objectPart[i].position.y = m_objectPart[i].matWorld.Get(2, 4);
+ m_objectPart[i].position.z = m_objectPart[i].matWorld.Get(3, 4);
- m_objectPart[i].matWorld._41 = 0.0f;
- m_objectPart[i].matWorld._42 = 0.0f;
- m_objectPart[i].matWorld._43 = 0.0f;
+ m_objectPart[i].matWorld.Set(1, 4, 0.0f);
+ m_objectPart[i].matWorld.Set(2, 4, 0.0f);
+ m_objectPart[i].matWorld.Set(3, 4, 0.0f);
- m_objectPart[i].matTranslate._41 = 0.0f;
- m_objectPart[i].matTranslate._42 = 0.0f;
- m_objectPart[i].matTranslate._43 = 0.0f;
+ m_objectPart[i].matTranslate.Set(1, 4, 0.0f);
+ m_objectPart[i].matTranslate.Set(2, 4, 0.0f);
+ m_objectPart[i].matTranslate.Set(3, 4, 0.0f);
m_objectPart[i].parentPart = -1; // more parents
}
@@ -6212,11 +6211,11 @@ bool CObject::EventFrame(const Event &event)
if ( m_bProxyActivate ) // active if it is near?
{
CPyro* pyro;
- D3DVECTOR eye;
+ Math::Vector eye;
float dist;
eye = m_engine->RetLookatPt();
- dist = Length(eye, RetPosition(0));
+ dist = Math::Distance(eye, RetPosition(0));
if ( dist < m_proxyDistance )
{
m_bProxyActivate = false;
@@ -6250,7 +6249,7 @@ void CObject::UpdateMapping()
void CObject::VirusFrame(float rTime)
{
ParticuleType type;
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim;
int r;
@@ -6295,7 +6294,7 @@ void CObject::VirusFrame(float rTime)
void CObject::PartiFrame(float rTime)
{
- D3DVECTOR pos, angle, factor;
+ Math::Vector pos, angle, factor;
int i, channel;
for ( i=0 ; i<OBJECTMAXPART ; i++ )
@@ -6316,11 +6315,11 @@ void CObject::PartiFrame(float rTime)
// Each song spins differently.
switch( i%5 )
{
- case 0: factor = D3DVECTOR( 0.5f, 0.3f, 0.6f); break;
- case 1: factor = D3DVECTOR(-0.3f, 0.4f,-0.2f); break;
- case 2: factor = D3DVECTOR( 0.4f,-0.6f,-0.3f); break;
- case 3: factor = D3DVECTOR(-0.6f,-0.2f, 0.0f); break;
- case 4: factor = D3DVECTOR( 0.4f, 0.1f,-0.7f); break;
+ case 0: factor = Math::Vector( 0.5f, 0.3f, 0.6f); break;
+ case 1: factor = Math::Vector(-0.3f, 0.4f,-0.2f); break;
+ case 2: factor = Math::Vector( 0.4f,-0.6f,-0.3f); break;
+ case 3: factor = Math::Vector(-0.6f,-0.2f, 0.0f); break;
+ case 4: factor = Math::Vector( 0.4f, 0.1f,-0.7f); break;
}
angle = RetAngle(i);
@@ -6333,8 +6332,8 @@ void CObject::PartiFrame(float rTime)
// Changes the perspective to view if it was like in the vehicle,
// or behind the vehicle.
-void CObject::SetViewFromHere(D3DVECTOR &eye, float &dirH, float &dirV,
- D3DVECTOR &lookat, D3DVECTOR &upVec,
+void CObject::SetViewFromHere(Math::Vector &eye, float &dirH, float &dirV,
+ Math::Vector &lookat, Math::Vector &upVec,
CameraType type)
{
float speed;
@@ -6440,11 +6439,11 @@ void CObject::SetViewFromHere(D3DVECTOR &eye, float &dirH, float &dirV,
lookat.y = eye.y+0.0f;
lookat.z = eye.z+0.0f;
- eye = Transform(m_objectPart[part].matWorld, eye);
- lookat = Transform(m_objectPart[part].matWorld, lookat);
+ eye = Math::Transform(m_objectPart[part].matWorld, eye);
+ lookat = Math::Transform(m_objectPart[part].matWorld, lookat);
// Camera tilts when turning.
- upVec = D3DVECTOR(0.0f, 1.0f, 0.0f);
+ upVec = Math::Vector(0.0f, 1.0f, 0.0f);
if ( m_physics != 0 )
{
if ( m_physics->RetLand() ) // on ground?
@@ -6464,7 +6463,7 @@ void CObject::SetViewFromHere(D3DVECTOR &eye, float &dirH, float &dirV,
upVec.z += speed*0.08f;
}
}
- upVec = Transform(m_objectPart[0].matRotate, upVec);
+ upVec = Math::Transform(m_objectPart[0].matRotate, upVec);
dirH = -(m_objectPart[part].angle.y+Math::PI/2.0f);
dirV = 0.0f;
@@ -6709,22 +6708,22 @@ bool CObject::JostleObject(float force)
void CObject::StartDetectEffect(CObject *target, bool bFound)
{
- D3DMATRIX* mat;
- D3DVECTOR pos, goal;
+ Math::Matrix* mat;
+ Math::Vector pos, goal;
Math::Point dim;
mat = RetWorldMatrix(0);
- pos = Transform(*mat, D3DVECTOR(2.0f, 3.0f, 0.0f));
+ pos = Math::Transform(*mat, Math::Vector(2.0f, 3.0f, 0.0f));
if ( target == 0 )
{
- goal = Transform(*mat, D3DVECTOR(50.0f, 3.0f, 0.0f));
+ goal = Math::Transform(*mat, Math::Vector(50.0f, 3.0f, 0.0f));
}
else
{
goal = target->RetPosition(0);
goal.y += 3.0f;
- goal = SegmentDist(pos, goal, Length(pos, goal)-3.0f);
+ goal = Math::SegmentPoint(pos, goal, Math::Distance(pos, goal)-3.0f);
}
dim.x = 3.0f;
@@ -6735,10 +6734,10 @@ void CObject::StartDetectEffect(CObject *target, bool bFound)
{
goal = target->RetPosition(0);
goal.y += 3.0f;
- goal = SegmentDist(pos, goal, Length(pos, goal)-1.0f);
+ goal = Math::SegmentPoint(pos, goal, Math::Distance(pos, goal)-1.0f);
dim.x = 6.0f;
dim.y = dim.x;
- m_particule->CreateParticule(goal, D3DVECTOR(0.0f, 0.0f, 0.0f), dim,
+ m_particule->CreateParticule(goal, Math::Vector(0.0f, 0.0f, 0.0f), dim,
bFound?PARTIGLINT:PARTIGLINTr, 0.5f);
}
@@ -7222,7 +7221,7 @@ bool CObject::IsProgram()
void CObject::CreateSelectParticule()
{
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim;
int i;
@@ -7267,8 +7266,8 @@ void CObject::CreateSelectParticule()
m_type == OBJECT_MOBILEit ||
m_type == OBJECT_MOBILEdr ) // vehicle?
{
- pos = D3DVECTOR(0.0f, 0.0f, 0.0f);
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ pos = Math::Vector(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 0.0f;
dim.y = 0.0f;
m_partiSel[0] = m_particule->CreateParticule(pos, speed, dim, PARTISELY, 1.0f, 0.0f, 0.0f);
@@ -7284,7 +7283,7 @@ void CObject::CreateSelectParticule()
void CObject::UpdateSelectParticule()
{
- D3DVECTOR pos[4];
+ Math::Vector pos[4];
Math::Point dim[4];
float zoom[4];
float angle;
@@ -7303,8 +7302,8 @@ void CObject::UpdateSelectParticule()
m_type == OBJECT_MOBILErr ||
m_type == OBJECT_MOBILErs ) // large caterpillars?
{
- pos[0] = D3DVECTOR(4.2f, 2.8f, 1.5f);
- pos[1] = D3DVECTOR(4.2f, 2.8f, -1.5f);
+ pos[0] = Math::Vector(4.2f, 2.8f, 1.5f);
+ pos[1] = Math::Vector(4.2f, 2.8f, -1.5f);
dim[0].x = 1.5f;
dim[1].x = 1.5f;
}
@@ -7313,30 +7312,30 @@ void CObject::UpdateSelectParticule()
m_type == OBJECT_MOBILEft ||
m_type == OBJECT_MOBILEit ) // trainer ?
{
- pos[0] = D3DVECTOR(4.2f, 2.5f, 1.2f);
- pos[1] = D3DVECTOR(4.2f, 2.5f, -1.2f);
+ pos[0] = Math::Vector(4.2f, 2.5f, 1.2f);
+ pos[1] = Math::Vector(4.2f, 2.5f, -1.2f);
dim[0].x = 1.5f;
dim[1].x = 1.5f;
}
else if ( m_type == OBJECT_MOBILEsa ) // submarine?
{
- pos[0] = D3DVECTOR(3.6f, 4.0f, 2.0f);
- pos[1] = D3DVECTOR(3.6f, 4.0f, -2.0f);
+ pos[0] = Math::Vector(3.6f, 4.0f, 2.0f);
+ pos[1] = Math::Vector(3.6f, 4.0f, -2.0f);
}
else if ( m_type == OBJECT_MOBILEtg ) // target?
{
- pos[0] = D3DVECTOR(3.4f, 6.5f, 2.0f);
- pos[1] = D3DVECTOR(3.4f, 6.5f, -2.0f);
+ pos[0] = Math::Vector(3.4f, 6.5f, 2.0f);
+ pos[1] = Math::Vector(3.4f, 6.5f, -2.0f);
}
else if ( m_type == OBJECT_MOBILEdr ) // designer?
{
- pos[0] = D3DVECTOR(4.9f, 3.5f, 2.5f);
- pos[1] = D3DVECTOR(4.9f, 3.5f, -2.5f);
+ pos[0] = Math::Vector(4.9f, 3.5f, 2.5f);
+ pos[1] = Math::Vector(4.9f, 3.5f, -2.5f);
}
else
{
- pos[0] = D3DVECTOR(4.2f, 2.5f, 1.5f);
- pos[1] = D3DVECTOR(4.2f, 2.5f, -1.5f);
+ pos[0] = Math::Vector(4.2f, 2.5f, 1.5f);
+ pos[1] = Math::Vector(4.2f, 2.5f, -1.5f);
}
// Red back lens
@@ -7346,8 +7345,8 @@ void CObject::UpdateSelectParticule()
m_type == OBJECT_MOBILEfs ||
m_type == OBJECT_MOBILEft ) // flying?
{
- pos[2] = D3DVECTOR(-4.0f, 3.1f, 4.5f);
- pos[3] = D3DVECTOR(-4.0f, 3.1f, -4.5f);
+ pos[2] = Math::Vector(-4.0f, 3.1f, 4.5f);
+ pos[3] = Math::Vector(-4.0f, 3.1f, -4.5f);
dim[2].x = 0.6f;
dim[3].x = 0.6f;
}
@@ -7356,13 +7355,13 @@ void CObject::UpdateSelectParticule()
m_type == OBJECT_MOBILEwi ||
m_type == OBJECT_MOBILEws ) // wheels?
{
- pos[2] = D3DVECTOR(-4.5f, 2.7f, 2.8f);
- pos[3] = D3DVECTOR(-4.5f, 2.7f, -2.8f);
+ pos[2] = Math::Vector(-4.5f, 2.7f, 2.8f);
+ pos[3] = Math::Vector(-4.5f, 2.7f, -2.8f);
}
if ( m_type == OBJECT_MOBILEwt ) // wheels?
{
- pos[2] = D3DVECTOR(-4.0f, 2.5f, 2.2f);
- pos[3] = D3DVECTOR(-4.0f, 2.5f, -2.2f);
+ pos[2] = Math::Vector(-4.0f, 2.5f, 2.2f);
+ pos[3] = Math::Vector(-4.0f, 2.5f, -2.2f);
}
if ( m_type == OBJECT_MOBILEia ||
m_type == OBJECT_MOBILEic ||
@@ -7370,8 +7369,8 @@ void CObject::UpdateSelectParticule()
m_type == OBJECT_MOBILEis ||
m_type == OBJECT_MOBILEit ) // legs?
{
- pos[2] = D3DVECTOR(-4.5f, 2.7f, 2.8f);
- pos[3] = D3DVECTOR(-4.5f, 2.7f, -2.8f);
+ pos[2] = Math::Vector(-4.5f, 2.7f, 2.8f);
+ pos[3] = Math::Vector(-4.5f, 2.7f, -2.8f);
}
if ( m_type == OBJECT_MOBILEta ||
m_type == OBJECT_MOBILEtc ||
@@ -7379,31 +7378,31 @@ void CObject::UpdateSelectParticule()
m_type == OBJECT_MOBILEts ||
m_type == OBJECT_MOBILEtt ) // caterpillars?
{
- pos[2] = D3DVECTOR(-3.6f, 4.2f, 3.0f);
- pos[3] = D3DVECTOR(-3.6f, 4.2f, -3.0f);
+ pos[2] = Math::Vector(-3.6f, 4.2f, 3.0f);
+ pos[3] = Math::Vector(-3.6f, 4.2f, -3.0f);
}
if ( m_type == OBJECT_MOBILErt ||
m_type == OBJECT_MOBILErc ||
m_type == OBJECT_MOBILErr ||
m_type == OBJECT_MOBILErs ) // large caterpillars?
{
- pos[2] = D3DVECTOR(-5.0f, 5.2f, 2.5f);
- pos[3] = D3DVECTOR(-5.0f, 5.2f, -2.5f);
+ pos[2] = Math::Vector(-5.0f, 5.2f, 2.5f);
+ pos[3] = Math::Vector(-5.0f, 5.2f, -2.5f);
}
if ( m_type == OBJECT_MOBILEsa ) // submarine?
{
- pos[2] = D3DVECTOR(-3.6f, 4.0f, 2.0f);
- pos[3] = D3DVECTOR(-3.6f, 4.0f, -2.0f);
+ pos[2] = Math::Vector(-3.6f, 4.0f, 2.0f);
+ pos[3] = Math::Vector(-3.6f, 4.0f, -2.0f);
}
if ( m_type == OBJECT_MOBILEtg ) // target?
{
- pos[2] = D3DVECTOR(-2.4f, 6.5f, 2.0f);
- pos[3] = D3DVECTOR(-2.4f, 6.5f, -2.0f);
+ pos[2] = Math::Vector(-2.4f, 6.5f, 2.0f);
+ pos[3] = Math::Vector(-2.4f, 6.5f, -2.0f);
}
if ( m_type == OBJECT_MOBILEdr ) // designer?
{
- pos[2] = D3DVECTOR(-5.3f, 2.7f, 1.8f);
- pos[3] = D3DVECTOR(-5.3f, 2.7f, -1.8f);
+ pos[2] = Math::Vector(-5.3f, 2.7f, 1.8f);
+ pos[3] = Math::Vector(-5.3f, 2.7f, -1.8f);
}
angle = RetAngleY(0)/Math::PI;
@@ -7425,7 +7424,7 @@ void CObject::UpdateSelectParticule()
// Updates lens.
for ( i=0 ; i<4 ; i++ )
{
- pos[i] = Transform(m_objectPart[0].matWorld, pos[i]);
+ pos[i] = Math::Transform(m_objectPart[0].matWorld, pos[i]);
dim[i].y = dim[i].x;
m_particule->SetParam(m_partiSel[i], pos[i], dim[i], zoom[i], angle, 1.0f);
}
diff --git a/src/object/object.h b/src/object/object.h
index 88eac3d..5b3cbf6 100644
--- a/src/object/object.h
+++ b/src/object/object.h
@@ -309,16 +309,16 @@ struct ObjectPart
int object; // number of the object in CD3DEngine
int parentPart; // number of father part
int masterParti; // master canal of the particle
- D3DVECTOR position;
- D3DVECTOR angle;
- D3DVECTOR zoom;
+ Math::Vector position;
+ Math::Vector angle;
+ Math::Vector zoom;
char bTranslate;
char bRotate;
char bZoom;
- D3DMATRIX matTranslate;
- D3DMATRIX matRotate;
- D3DMATRIX matTransform;
- D3DMATRIX matWorld;
+ Math::Matrix matTranslate;
+ Math::Matrix matRotate;
+ Math::Matrix matTransform;
+ Math::Matrix matWorld;
};
struct Character
@@ -328,7 +328,7 @@ struct Character
float wheelLeft; // position Z of the left wheels
float wheelRight; // position Z of the right wheels
float height; // normal height on top of ground
- D3DVECTOR posPower; // position of the battery
+ Math::Vector posPower; // position of the battery
};
struct Info
@@ -394,20 +394,20 @@ public:
void SetDrawWorld(bool bDraw);
void SetDrawFront(bool bDraw);
- bool CreateVehicle(D3DVECTOR pos, float angle, ObjectType type, float power, bool bTrainer, bool bToy);
- bool CreateInsect(D3DVECTOR pos, float angle, ObjectType type);
- bool CreateBuilding(D3DVECTOR pos, float angle, float height, ObjectType type, float power=1.0f);
- bool CreateResource(D3DVECTOR pos, float angle, ObjectType type, float power=1.0f);
- bool CreateFlag(D3DVECTOR pos, float angle, ObjectType type);
- bool CreateBarrier(D3DVECTOR pos, float angle, float height, ObjectType type);
- bool CreatePlant(D3DVECTOR pos, float angle, float height, ObjectType type);
- bool CreateMushroom(D3DVECTOR pos, float angle, float height, ObjectType type);
- bool CreateTeen(D3DVECTOR pos, float angle, float zoom, float height, ObjectType type);
- bool CreateQuartz(D3DVECTOR pos, float angle, float height, ObjectType type);
- bool CreateRoot(D3DVECTOR pos, float angle, float height, ObjectType type);
- bool CreateHome(D3DVECTOR pos, float angle, float height, ObjectType type);
- bool CreateRuin(D3DVECTOR pos, float angle, float height, ObjectType type);
- bool CreateApollo(D3DVECTOR pos, float angle, ObjectType type);
+ bool CreateVehicle(Math::Vector pos, float angle, ObjectType type, float power, bool bTrainer, bool bToy);
+ bool CreateInsect(Math::Vector pos, float angle, ObjectType type);
+ bool CreateBuilding(Math::Vector pos, float angle, float height, ObjectType type, float power=1.0f);
+ bool CreateResource(Math::Vector pos, float angle, ObjectType type, float power=1.0f);
+ bool CreateFlag(Math::Vector pos, float angle, ObjectType type);
+ bool CreateBarrier(Math::Vector pos, float angle, float height, ObjectType type);
+ bool CreatePlant(Math::Vector pos, float angle, float height, ObjectType type);
+ bool CreateMushroom(Math::Vector pos, float angle, float height, ObjectType type);
+ bool CreateTeen(Math::Vector pos, float angle, float zoom, float height, ObjectType type);
+ bool CreateQuartz(Math::Vector pos, float angle, float height, ObjectType type);
+ bool CreateRoot(Math::Vector pos, float angle, float height, ObjectType type);
+ bool CreateHome(Math::Vector pos, float angle, float height, ObjectType type);
+ bool CreateRuin(Math::Vector pos, float angle, float height, ObjectType type);
+ bool CreateApollo(Math::Vector pos, float angle, ObjectType type);
bool ReadProgram(int rank, char* filename);
bool WriteProgram(int rank, char* filename);
@@ -417,33 +417,33 @@ public:
int RetEffectLight();
void FlushCrashShere();
- int CreateCrashSphere(D3DVECTOR pos, float radius, Sound sound, float hardness=0.45f);
+ int CreateCrashSphere(Math::Vector pos, float radius, Sound sound, float hardness=0.45f);
int RetCrashSphereTotal();
- bool GetCrashSphere(int rank, D3DVECTOR &pos, float &radius);
+ bool GetCrashSphere(int rank, Math::Vector &pos, float &radius);
float RetCrashSphereHardness(int rank);
Sound RetCrashSphereSound(int rank);
void DeleteCrashSphere(int rank);
- void SetGlobalSphere(D3DVECTOR pos, float radius);
- void GetGlobalSphere(D3DVECTOR &pos, float &radius);
- void SetJotlerSphere(D3DVECTOR pos, float radius);
- void GetJotlerSphere(D3DVECTOR &pos, float &radius);
+ void SetGlobalSphere(Math::Vector pos, float radius);
+ void GetGlobalSphere(Math::Vector &pos, float &radius);
+ void SetJotlerSphere(Math::Vector pos, float radius);
+ void GetJotlerSphere(Math::Vector &pos, float &radius);
void SetShieldRadius(float radius);
float RetShieldRadius();
void SetFloorHeight(float height);
void FloorAdjust();
- void SetLinVibration(D3DVECTOR dir);
- D3DVECTOR RetLinVibration();
- void SetCirVibration(D3DVECTOR dir);
- D3DVECTOR RetCirVibration();
- void SetInclinaison(D3DVECTOR dir);
- D3DVECTOR RetInclinaison();
-
- void SetPosition(int part, const D3DVECTOR &pos);
- D3DVECTOR RetPosition(int part);
- void SetAngle(int part, const D3DVECTOR &angle);
- D3DVECTOR RetAngle(int part);
+ void SetLinVibration(Math::Vector dir);
+ Math::Vector RetLinVibration();
+ void SetCirVibration(Math::Vector dir);
+ Math::Vector RetCirVibration();
+ void SetInclinaison(Math::Vector dir);
+ Math::Vector RetInclinaison();
+
+ void SetPosition(int part, const Math::Vector &pos);
+ Math::Vector RetPosition(int part);
+ void SetAngle(int part, const Math::Vector &angle);
+ Math::Vector RetAngle(int part);
void SetAngleY(int part, float angle);
void SetAngleX(int part, float angle);
void SetAngleZ(int part, float angle);
@@ -451,8 +451,8 @@ public:
float RetAngleX(int part);
float RetAngleZ(int part);
void SetZoom(int part, float zoom);
- void SetZoom(int part, D3DVECTOR zoom);
- D3DVECTOR RetZoom(int part);
+ void SetZoom(int part, Math::Vector zoom);
+ Math::Vector RetZoom(int part);
void SetZoomX(int part, float zoom);
float RetZoomX(int part);
void SetZoomY(int part, float zoom);
@@ -475,10 +475,10 @@ public:
ResetCap RetResetCap();
void SetResetBusy(bool bBusy);
bool RetResetBusy();
- void SetResetPosition(const D3DVECTOR &pos);
- D3DVECTOR RetResetPosition();
- void SetResetAngle(const D3DVECTOR &angle);
- D3DVECTOR RetResetAngle();
+ void SetResetPosition(const Math::Vector &pos);
+ Math::Vector RetResetPosition();
+ void SetResetAngle(const Math::Vector &angle);
+ Math::Vector RetResetAngle();
void SetResetRun(int run);
int RetResetRun();
@@ -507,12 +507,12 @@ public:
bool SetCmdLine(int rank, float value);
float RetCmdLine(int rank);
- D3DMATRIX* RetRotateMatrix(int part);
- D3DMATRIX* RetTranslateMatrix(int part);
- D3DMATRIX* RetTransformMatrix(int part);
- D3DMATRIX* RetWorldMatrix(int part);
+ Math::Matrix* RetRotateMatrix(int part);
+ Math::Matrix* RetTranslateMatrix(int part);
+ Math::Matrix* RetTransformMatrix(int part);
+ Math::Matrix* RetWorldMatrix(int part);
- void SetViewFromHere(D3DVECTOR &eye, float &dirH, float &dirV, D3DVECTOR &lookat, D3DVECTOR &upVec, CameraType type);
+ void SetViewFromHere(Math::Vector &eye, float &dirH, float &dirV, Math::Vector &lookat, Math::Vector &upVec, CameraType type);
void SetCharacter(Character* character);
void GetCharacter(Character* character);
@@ -689,9 +689,9 @@ protected:
float m_shadowHeight; // height of light from the shadows
int m_effectLight; // number of light effects
float m_effectHeight; // height of light effects
- D3DVECTOR m_linVibration; // linear vibration
- D3DVECTOR m_cirVibration; // circular vibration
- D3DVECTOR m_inclinaison; // tilt
+ Math::Vector m_linVibration; // linear vibration
+ Math::Vector m_cirVibration; // circular vibration
+ Math::Vector m_inclinaison; // tilt
CObject* m_power; // battery used by the vehicle
CObject* m_fret; // object transported
CObject* m_truck; // object with the latter
@@ -741,13 +741,13 @@ protected:
float m_param;
int m_crashSphereUsed; // number of spheres used
- D3DVECTOR m_crashSpherePos[MAXCRASHSPHERE];
+ Math::Vector m_crashSpherePos[MAXCRASHSPHERE];
float m_crashSphereRadius[MAXCRASHSPHERE];
float m_crashSphereHardness[MAXCRASHSPHERE];
Sound m_crashSphereSound[MAXCRASHSPHERE];
- D3DVECTOR m_globalSpherePos;
+ Math::Vector m_globalSpherePos;
float m_globalSphereRadius;
- D3DVECTOR m_jotlerSpherePos;
+ Math::Vector m_jotlerSpherePos;
float m_jotlerSphereRadius;
float m_shieldRadius;
@@ -761,8 +761,8 @@ protected:
ResetCap m_resetCap;
bool m_bResetBusy;
- D3DVECTOR m_resetPosition;
- D3DVECTOR m_resetAngle;
+ Math::Vector m_resetPosition;
+ Math::Vector m_resetAngle;
int m_resetRun;
int m_infoTotal;
diff --git a/src/object/robotmain.cpp b/src/object/robotmain.cpp
index 1408787..6b40570 100644
--- a/src/object/robotmain.cpp
+++ b/src/object/robotmain.cpp
@@ -25,6 +25,7 @@
#include "common/struct.h"
#include "math/const.h"
#include "math/geometry.h"
+#include "math/conv.h"
#include "graphics/d3d/d3dengine.h"
#include "math/old/d3dmath.h"
#include "common/language.h"
@@ -71,7 +72,7 @@
#include "sound/sound.h"
#include "script/cbottoken.h"
#include "script/cmdtoken.h"
-#include "graphics/common/mainmovie.h"
+#include "object/mainmovie.h"
#include "ui/maindialog.h"
#include "ui/mainshort.h"
#include "ui/mainmap.h"
@@ -501,7 +502,7 @@ void CRobotMain::ChangePhase(Phase phase)
m_engine->SetOverColor();
m_engine->GroundMarkDelete(0);
SetSpeed(1.0f);
- m_terrain->SetWind(D3DVECTOR(0.0f, 0.0f, 0.0f));
+ m_terrain->SetWind(Math::Vector(0.0f, 0.0f, 0.0f));
m_terrain->FlushBuildingLevel();
m_terrain->FlushFlyingLimit();
m_light->FlushLight();
@@ -518,7 +519,7 @@ void CRobotMain::ChangePhase(Phase phase)
m_interface->Flush();
ClearInterface();
FlushNewScriptName();
- m_sound->SetListener(D3DVECTOR(0.0f, 0.0f, 0.0f), D3DVECTOR(0.0f, 0.0f, 1.0f));
+ m_sound->SetListener(Math::Vector(0.0f, 0.0f, 0.0f), Math::Vector(0.0f, 0.0f, 1.0f));
m_camera->SetType(CAMERA_DIALOG);
m_movie->Flush();
m_movieInfoIndex = -1;
@@ -723,7 +724,7 @@ void CRobotMain::ChangePhase(Phase phase)
}
else
{
- m_displayText->DisplayError(INFO_WIN, D3DVECTOR(0.0f,0.0f,0.0f), 15.0f, 60.0f, 1000.0f);
+ m_displayText->DisplayError(INFO_WIN, Math::Vector(0.0f,0.0f,0.0f), 15.0f, 60.0f, 1000.0f);
}
}
m_sound->StopAll();
@@ -746,7 +747,7 @@ void CRobotMain::ChangePhase(Phase phase)
pos.x = ox+sx*1; pos.y = oy+sy*1;
ddim.x = dim.x*2; ddim.y = dim.y*2;
m_interface->CreateButton(pos, ddim, 16, EVENT_BUTTON_OK);
- m_displayText->DisplayError(INFO_LOST, D3DVECTOR(0.0f,0.0f,0.0f), 15.0f, 60.0f, 1000.0f);
+ m_displayText->DisplayError(INFO_LOST, Math::Vector(0.0f,0.0f,0.0f), 15.0f, 60.0f, 1000.0f);
}
m_sound->StopAll();
StartMusic();
@@ -915,7 +916,7 @@ bool CRobotMain::EventProcess(const Event &event)
HiliteClear();
if ( event.param == VK_F11 )
{
- m_particule->WriteWheelTrace("Savegame\\t.bmp", 256, 256, D3DVECTOR(16.0f, 0.0f, -368.0f), D3DVECTOR(140.0f, 0.0f, -248.0f));
+ m_particule->WriteWheelTrace("Savegame\\t.bmp", 256, 256, Math::Vector(16.0f, 0.0f, -368.0f), Math::Vector(140.0f, 0.0f, -248.0f));
return false;
}
if ( m_bEditLock ) // current edition?
@@ -1575,7 +1576,7 @@ void CRobotMain::ExecuteCmd(char *cmd)
if ( m_phase == PHASE_SIMUL )
{
- m_displayText->DisplayError(ERR_CMD, D3DVECTOR(0.0f,0.0f,0.0f));
+ m_displayText->DisplayError(ERR_CMD, Math::Vector(0.0f,0.0f,0.0f));
}
}
@@ -1881,7 +1882,7 @@ void CRobotMain::StartDisplayVisit(EventMsg event)
CWindow* pw;
CButton* button;
CGroup* group;
- D3DVECTOR goal;
+ Math::Vector goal;
Math::Point pos, dim;
int i, j;
@@ -1978,7 +1979,7 @@ void CRobotMain::StartDisplayVisit(EventMsg event)
void CRobotMain::FrameVisit(float rTime)
{
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim;
float level;
@@ -2001,7 +2002,7 @@ void CRobotMain::FrameVisit(float rTime)
pos = m_visitPos;
level = m_terrain->RetFloorLevel(pos)+2.0f;
if ( pos.y < level ) pos.y = level; // not below the ground
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 30.0f;
dim.y = dim.x;
m_particule->CreateParticule(pos, speed, dim, PARTISHOW, 2.0f);
@@ -2291,11 +2292,11 @@ CObject* CRobotMain::SearchToto()
// Returns the nearest selectable object from a given position.
-CObject* CRobotMain::SearchNearest(D3DVECTOR pos, CObject* pExclu)
+CObject* CRobotMain::SearchNearest(Math::Vector pos, CObject* pExclu)
{
ObjectType type;
CObject *pObj, *pBest;
- D3DVECTOR oPos;
+ Math::Vector oPos;
float min, dist;
int i;
@@ -2313,7 +2314,7 @@ CObject* CRobotMain::SearchNearest(D3DVECTOR pos, CObject* pExclu)
if ( type == OBJECT_TOTO ) continue;
oPos = pObj->RetPosition(0);
- dist = Length2d(oPos, pos);
+ dist = Math::DistanceProjected(oPos, pos);
if ( dist < min )
{
min = dist;
@@ -2988,7 +2989,7 @@ void CRobotMain::AbortMovie()
void CRobotMain::UpdateInfoText()
{
CObject* pObj;
- D3DVECTOR pos;
+ Math::Vector pos;
char info[100];
if ( m_bShowPos )
@@ -3010,8 +3011,8 @@ void CRobotMain::InitEye()
{
if ( m_phase == PHASE_SIMUL )
{
- m_camera->Init(D3DVECTOR( 0.0f, 10.0f, 0.0f),
- D3DVECTOR(10.0f, 5.0f, 0.0f), 0.0f);
+ m_camera->Init(Math::Vector( 0.0f, 10.0f, 0.0f),
+ Math::Vector(10.0f, 5.0f, 0.0f), 0.0f);
}
if ( m_phase == PHASE_MODEL )
@@ -3037,7 +3038,7 @@ bool CRobotMain::EventFrame(const Event &event)
if ( !m_bImmediatSatCom && !m_bBeginSatCom &&
m_gameTime > 0.1f && m_phase == PHASE_SIMUL )
{
- m_displayText->DisplayError(INFO_BEGINSATCOM, D3DVECTOR(0.0f,0.0f,0.0f));
+ m_displayText->DisplayError(INFO_BEGINSATCOM, Math::Vector(0.0f,0.0f,0.0f));
m_bBeginSatCom = true; // message appears
}
@@ -3255,7 +3256,7 @@ bool CRobotMain::EventFrame(const Event &event)
m_delayWriteMessage --;
if ( m_delayWriteMessage == 0 )
{
- m_displayText->DisplayError(INFO_WRITEOK, D3DVECTOR(0.0f,0.0f,0.0f));
+ m_displayText->DisplayError(INFO_WRITEOK, Math::Vector(0.0f,0.0f,0.0f));
}
}
@@ -3292,10 +3293,10 @@ bool CRobotMain::EventObject(const Event &event)
// Calculates the point of arrival of the camera.
-D3DVECTOR CRobotMain::LookatPoint(D3DVECTOR eye, float angleH, float angleV,
+Math::Vector CRobotMain::LookatPoint(Math::Vector eye, float angleH, float angleV,
float length)
{
- D3DVECTOR lookat;
+ Math::Vector lookat;
lookat = eye;
lookat.z += length;
@@ -3327,7 +3328,7 @@ void CRobotMain::Convert()
char* base;
char* p;
int rank;
- D3DVECTOR pos;
+ Math::Vector pos;
float value;
base = m_dialog->RetSceneName();
@@ -3567,7 +3568,7 @@ void CRobotMain::CreateScene(bool bSoluce, bool bFixScene, bool bResetObject)
char* stack;
char* base;
D3DCOLORVALUE color;
- D3DVECTOR pos;
+ Math::Vector pos;
int rank, obj, i, rankObj, rankGadget;
//? Convert();
@@ -3792,7 +3793,7 @@ void CRobotMain::CreateScene(bool bSoluce, bool bFixScene, bool bResetObject)
if ( Cmd(line, "Planet") && !bResetObject )
{
- D3DVECTOR ppos, uv1, uv2;
+ Math::Vector ppos, uv1, uv2;
ppos = OpPos(line, "pos");
uv1 = OpPos(line, "uv1");
@@ -3981,7 +3982,7 @@ void CRobotMain::CreateScene(bool bSoluce, bool bFixScene, bool bResetObject)
SetMovieLock(false);
if ( !m_bFixScene )
{
-//? CreateObject(D3DVECTOR(0.0f, 0.0f, 0.0f), 0.0f, 0.0f, OBJECT_TOTO);
+//? CreateObject(Math::Vector(0.0f, 0.0f, 0.0f), 0.0f, 0.0f, OBJECT_TOTO);
}
if ( read[0] != 0 ) // loading file ?
@@ -4207,7 +4208,7 @@ void CRobotMain::CreateScene(bool bSoluce, bool bFixScene, bool bResetObject)
pos.y += height;
dim.x = ddim;
dim.y = dim.x;
- m_particule->CreateParticule(pos, D3DVECTOR(0.0f, 0.0f, 0.0f), dim, type, delay, 0.0f, 0.0f);
+ m_particule->CreateParticule(pos, Math::Vector(0.0f, 0.0f, 0.0f), dim, type, delay, 0.0f, 0.0f);
}
if ( Cmd(line, "CreateLight") && !bResetObject )
@@ -4302,7 +4303,7 @@ void CRobotMain::CreateScene(bool bSoluce, bool bFixScene, bool bResetObject)
m_bMapImage = OpInt(line, "image", 0);
if ( m_bMapImage )
{
- D3DVECTOR offset;
+ Math::Vector offset;
OpString(line, "filename", m_mapFilename);
offset = OpPos(line, "offset");
m_map->SetFixParam(OpFloat(line, "zoom", 1.0f),
@@ -4338,7 +4339,7 @@ void CRobotMain::CreateScene(bool bSoluce, bool bFixScene, bool bResetObject)
if ( OpInt(line, "fadeIn", 0) == 1 )
{
- m_camera->StartOver(OE_FADEINw, D3DVECTOR(0.0f, 0.0f, 0.0f), 1.0f);
+ m_camera->StartOver(OE_FADEINw, Math::Vector(0.0f, 0.0f, 0.0f), 1.0f);
}
m_camera->SetFixDirection(OpFloat(line, "fixDirection", 0.25f)*Math::PI);
}
@@ -4491,7 +4492,7 @@ void CRobotMain::CreateScene(bool bSoluce, bool bFixScene, bool bResetObject)
// Creates an object of decoration mobile or stationary.
-CObject* CRobotMain::CreateObject(D3DVECTOR pos, float angle, float zoom, float height,
+CObject* CRobotMain::CreateObject(Math::Vector pos, float angle, float zoom, float height,
ObjectType type, float power,
bool bTrainer, bool bToy,
int option)
@@ -4830,7 +4831,7 @@ CObject* CRobotMain::CreateObject(D3DVECTOR pos, float angle, float zoom, float
void CRobotMain::CreateModel()
{
- D3DVECTOR direction;
+ Math::Vector direction;
D3DCOLORVALUE color;
m_engine->SetAmbiantColor(0xC0C0C0C0); // gray
@@ -4842,31 +4843,31 @@ void CRobotMain::CreateModel()
m_model->StartUserAction();
- direction = D3DVECTOR(1.0f, -1.0f, 1.0f);
+ direction = Math::Vector(1.0f, -1.0f, 1.0f);
color.r = 0.7f;
color.g = 0.7f;
color.b = 0.7f; // white
CreateLight(direction, color);
- direction = D3DVECTOR(-1.0f, -1.0f, 1.0f);
+ direction = Math::Vector(-1.0f, -1.0f, 1.0f);
color.r = 0.7f;
color.g = 0.7f;
color.b = 0.7f; // white
CreateLight(direction, color);
- direction = D3DVECTOR(1.0f, -1.0f, -1.0f);
+ direction = Math::Vector(1.0f, -1.0f, -1.0f);
color.r = 0.7f;
color.g = 0.7f;
color.b = 0.7f; // white
CreateLight(direction, color);
- direction = D3DVECTOR(-1.0f, -1.0f, -1.0f);
+ direction = Math::Vector(-1.0f, -1.0f, -1.0f);
color.r = 0.7f;
color.g = 0.7f;
color.b = 0.7f; // white
CreateLight(direction, color);
- direction = D3DVECTOR(0.0f, 1.0f, 0.0f);
+ direction = Math::Vector(0.0f, 1.0f, 0.0f);
color.r = 0.7f;
color.g = 0.7f;
color.b = 0.7f; // white
@@ -4883,7 +4884,7 @@ void CRobotMain::CreateModel()
// Creates a directional light.
-int CRobotMain::CreateLight(D3DVECTOR direction, D3DCOLORVALUE color)
+int CRobotMain::CreateLight(Math::Vector direction, D3DCOLORVALUE color)
{
D3DLIGHT7 light;
int obj;
@@ -4900,7 +4901,7 @@ int CRobotMain::CreateLight(D3DVECTOR direction, D3DCOLORVALUE color)
light.dcvDiffuse.r = color.r;
light.dcvDiffuse.g = color.g;
light.dcvDiffuse.b = color.b;
- light.dvDirection = direction;
+ light.dvDirection = VEC_TO_D3DVEC(direction);
obj = m_light->CreateLight();
m_light->SetLight(obj, light);
@@ -4909,7 +4910,7 @@ int CRobotMain::CreateLight(D3DVECTOR direction, D3DCOLORVALUE color)
// Creates a light spot.
-int CRobotMain::CreateSpot(D3DVECTOR pos, D3DCOLORVALUE color)
+int CRobotMain::CreateSpot(Math::Vector pos, D3DCOLORVALUE color)
{
D3DLIGHT7 light;
int obj;
@@ -4923,7 +4924,7 @@ int CRobotMain::CreateSpot(D3DVECTOR pos, D3DCOLORVALUE color)
light.dcvDiffuse.r = color.r;
light.dcvDiffuse.g = color.g;
light.dcvDiffuse.b = color.b;
- light.dvPosition = pos;
+ light.dvPosition = VEC_TO_D3DVEC(pos);
light.dvDirection = D3DVECTOR(0.0f, -1.0f, 0.0f);
light.dvRange = D3DLIGHT_RANGE_MAX;
light.dvFalloff = 1.0f;
@@ -5102,11 +5103,11 @@ bool CRobotMain::TestGadgetQuantity(int rank)
// Calculates the distance to the nearest object.
-float CRobotMain::SearchNearestObject(D3DVECTOR center, CObject *exclu)
+float CRobotMain::SearchNearestObject(Math::Vector center, CObject *exclu)
{
CObject* pObj;
ObjectType type;
- D3DVECTOR oPos;
+ Math::Vector oPos;
float min, dist, oRadius;
int i, j;
@@ -5128,7 +5129,7 @@ float CRobotMain::SearchNearestObject(D3DVECTOR center, CObject *exclu)
if ( oPos.x != center.x ||
oPos.z != center.z )
{
- dist = Length(center, oPos)-80.0f;
+ dist = Math::Distance(center, oPos)-80.0f;
if ( dist < 0.0f ) dist = 0.0f;
min = Math::Min(min, dist);
continue;
@@ -5140,7 +5141,7 @@ float CRobotMain::SearchNearestObject(D3DVECTOR center, CObject *exclu)
type == OBJECT_DESTROYER )
{
oPos = pObj->RetPosition(0);
- dist = Length(center, oPos)-8.0f;
+ dist = Math::Distance(center, oPos)-8.0f;
if ( dist < 0.0f ) dist = 0.0f;
min = Math::Min(min, dist);
}
@@ -5148,7 +5149,7 @@ float CRobotMain::SearchNearestObject(D3DVECTOR center, CObject *exclu)
j = 0;
while ( pObj->GetCrashSphere(j++, oPos, oRadius) )
{
- dist = Length(center, oPos)-oRadius;
+ dist = Math::Distance(center, oPos)-oRadius;
if ( dist < 0.0f ) dist = 0.0f;
min = Math::Min(min, dist);
}
@@ -5158,10 +5159,10 @@ float CRobotMain::SearchNearestObject(D3DVECTOR center, CObject *exclu)
// Calculates a free space.
-bool CRobotMain::FreeSpace(D3DVECTOR &center, float minRadius, float maxRadius,
+bool CRobotMain::FreeSpace(Math::Vector &center, float minRadius, float maxRadius,
float space, CObject *exclu)
{
- D3DVECTOR pos;
+ Math::Vector pos;
Math::Point p;
float radius, ia, angle, dist, flat;
@@ -5224,7 +5225,7 @@ bool CRobotMain::FreeSpace(D3DVECTOR &center, float minRadius, float maxRadius,
// Calculates the maximum radius of a free space.
-float CRobotMain::RetFlatZoneRadius(D3DVECTOR center, float maxRadius,
+float CRobotMain::RetFlatZoneRadius(Math::Vector center, float maxRadius,
CObject *exclu)
{
float dist;
@@ -5262,7 +5263,7 @@ void CRobotMain::ShowDropZone(CObject* metal, CObject* truck)
{
CObject* pObj;
ObjectType type;
- D3DVECTOR center, oPos;
+ Math::Vector center, oPos;
float oMax, tMax, dist, oRadius, radius;
int i, j;
@@ -5286,7 +5287,7 @@ void CRobotMain::ShowDropZone(CObject* metal, CObject* truck)
if ( type == OBJECT_BASE )
{
oPos = pObj->RetPosition(0);
- dist = Length(center, oPos)-80.0f;
+ dist = Math::Distance(center, oPos)-80.0f;
oMax = Math::Min(oMax, dist);
}
else
@@ -5294,7 +5295,7 @@ void CRobotMain::ShowDropZone(CObject* metal, CObject* truck)
j = 0;
while ( pObj->GetCrashSphere(j++, oPos, oRadius) )
{
- dist = Length(center, oPos)-oRadius;
+ dist = Math::Distance(center, oPos)-oRadius;
oMax = Math::Min(oMax, dist);
}
}
@@ -5321,7 +5322,7 @@ void CRobotMain::ShowDropZone(CObject* metal, CObject* truck)
j = 0;
while ( pObj->GetCrashSphere(j++, oPos, oRadius) )
{
- dist = Length(center, oPos)-oRadius-BUILDMARGIN;
+ dist = Math::Distance(center, oPos)-oRadius-BUILDMARGIN;
oMax = Math::Min(oMax, dist);
}
}
@@ -5371,7 +5372,7 @@ void CRobotMain::FlushShowLimit(int i)
// Specifies the boundaries to show.
void CRobotMain::SetShowLimit(int i, ParticuleType parti, CObject *pObj,
- D3DVECTOR pos, float radius, float duration)
+ Math::Vector pos, float radius, float duration)
{
Math::Point dim;
float dist;
@@ -5403,13 +5404,13 @@ void CRobotMain::SetShowLimit(int i, ParticuleType parti, CObject *pObj,
for ( j=0 ; j<m_showLimit[i].total ; j++ )
{
- m_showLimit[i].parti[j] = m_particule->CreateParticule(pos, D3DVECTOR(0.0f, 0.0f, 0.0f), dim, parti, duration);
+ m_showLimit[i].parti[j] = m_particule->CreateParticule(pos, Math::Vector(0.0f, 0.0f, 0.0f), dim, parti, duration);
}
}
// Adjusts the boundaries to show.
-void CRobotMain::AdjustShowLimit(int i, D3DVECTOR pos)
+void CRobotMain::AdjustShowLimit(int i, Math::Vector pos)
{
m_showLimit[i].pos = pos;
}
@@ -5430,7 +5431,7 @@ void CRobotMain::StartShowLimit()
void CRobotMain::FrameShowLimit(float rTime)
{
- D3DVECTOR pos;
+ Math::Vector pos;
Math::Point center, rotate;
float angle, factor, speed;
int i, j;
@@ -5869,7 +5870,7 @@ bool CRobotMain::IsBusy()
void CRobotMain::IOWriteObject(FILE *file, CObject* pObj, char *cmd)
{
- D3DVECTOR pos;
+ Math::Vector pos;
CBrain* pBrain;
char line[3000];
char name[100];
@@ -6075,7 +6076,7 @@ CObject* CRobotMain::IOReadObject(char *line, char* filename, int objRank)
CObject* pObj;
//? CBrain* pBrain;
CAuto* pAuto;
- D3DVECTOR pos, dir, zoom;
+ Math::Vector pos, dir, zoom;
ObjectType type;
int id, run, trainer, toy, option, i;
char op[10];
@@ -6365,7 +6366,7 @@ void CRobotMain::ResetObject()
CBrain* brain;
CPyro* pyro;
ResetCap cap;
- D3DVECTOR pos, angle;
+ Math::Vector pos, angle;
int i;
// Removes all pyrotechnic effects in progress.
@@ -6499,7 +6500,7 @@ void CRobotMain::ResetCreate()
Error CRobotMain::CheckEndMission(bool bFrame)
{
CObject* pObj;
- D3DVECTOR bPos, oPos;
+ Math::Vector bPos, oPos;
ObjectType type;
int t, i, nb;
@@ -6541,7 +6542,7 @@ Error CRobotMain::CheckEndMission(bool bFrame)
oPos = pObj->RetTruck()->RetPosition(0);
}
oPos.y = 0.0f;
- if ( Length2d(oPos, bPos) <= m_endTake[t].dist )
+ if ( Math::DistanceProjected(oPos, bPos) <= m_endTake[t].dist )
{
nb ++;
}
@@ -6563,7 +6564,7 @@ Error CRobotMain::CheckEndMission(bool bFrame)
{
if ( m_lostDelay == 0.0f )
{
- m_displayText->DisplayError(INFO_LOST, D3DVECTOR(0.0f,0.0f,0.0f));
+ m_displayText->DisplayError(INFO_LOST, Math::Vector(0.0f,0.0f,0.0f));
m_lostDelay = m_endTakeLostDelay; // lost in 6 seconds
m_winDelay = 0.0f;
}
@@ -6610,7 +6611,7 @@ Error CRobotMain::CheckEndMission(bool bFrame)
if ( m_winDelay == 0.0f )
{
- m_displayText->DisplayError(INFO_WIN, D3DVECTOR(0.0f,0.0f,0.0f));
+ m_displayText->DisplayError(INFO_WIN, Math::Vector(0.0f,0.0f,0.0f));
m_winDelay = m_endTakeWinDelay; // wins in two seconds
m_lostDelay = 0.0f;
}
@@ -6630,7 +6631,7 @@ void CRobotMain::CheckEndMessage(char *message)
if ( strcmp(m_endTake[t].message, message) == 0 )
{
- m_displayText->DisplayError(INFO_WIN, D3DVECTOR(0.0f,0.0f,0.0f));
+ m_displayText->DisplayError(INFO_WIN, Math::Vector(0.0f,0.0f,0.0f));
m_winDelay = m_endTakeWinDelay; // wins in 2 seconds
m_lostDelay = 0.0f;
}
diff --git a/src/object/robotmain.h b/src/object/robotmain.h
index 38f9e3e..5dde5c8 100644
--- a/src/object/robotmain.h
+++ b/src/object/robotmain.h
@@ -24,7 +24,7 @@
#include "common/misc.h"
#include "graphics/d3d/d3dengine.h"
#include "object/object.h"
-#include "graphics/common/mainmovie.h"
+#include "object/mainmovie.h"
#include "graphics/common/camera.h"
#include "graphics/common/particule.h"
@@ -91,7 +91,7 @@ class CSound;
struct EndTake
{
- D3DVECTOR pos;
+ Math::Vector pos;
float dist;
ObjectType type;
int min; // wins if>
@@ -119,7 +119,7 @@ const float SHOWLIMITTIME = 20.0f;
struct ShowLimit
{
bool bUsed;
- D3DVECTOR pos;
+ Math::Vector pos;
float radius;
int total;
int parti[MAXSHOWPARTI];
@@ -178,7 +178,7 @@ public:
void SelectHuman();
CObject* SearchHuman();
CObject* SearchToto();
- CObject* SearchNearest(D3DVECTOR pos, CObject* pExclu);
+ CObject* SearchNearest(Math::Vector pos, CObject* pExclu);
bool SelectObject(CObject* pObj, bool bDisplayError=true);
CObject* RetSelectObject();
CObject* DeselectAll();
@@ -254,14 +254,14 @@ public:
void ClearInterface();
void ChangeColor();
- float SearchNearestObject(D3DVECTOR center, CObject *exclu);
- bool FreeSpace(D3DVECTOR &center, float minRadius, float maxRadius, float space, CObject *exclu);
- float RetFlatZoneRadius(D3DVECTOR center, float maxRadius, CObject *exclu);
+ float SearchNearestObject(Math::Vector center, CObject *exclu);
+ bool FreeSpace(Math::Vector &center, float minRadius, float maxRadius, float space, CObject *exclu);
+ float RetFlatZoneRadius(Math::Vector center, float maxRadius, CObject *exclu);
void HideDropZone(CObject* metal);
void ShowDropZone(CObject* metal, CObject* truck);
void FlushShowLimit(int i);
- void SetShowLimit(int i, ParticuleType parti, CObject *pObj, D3DVECTOR pos, float radius, float duration=SHOWLIMITTIME);
- void AdjustShowLimit(int i, D3DVECTOR pos);
+ void SetShowLimit(int i, ParticuleType parti, CObject *pObj, Math::Vector pos, float radius, float duration=SHOWLIMITTIME);
+ void AdjustShowLimit(int i, Math::Vector pos);
void StartShowLimit();
void FrameShowLimit(float rTime);
@@ -287,7 +287,7 @@ public:
void IOWriteObject(FILE *file, CObject* pObj, char *cmd);
CObject* IOReadObject(char *line, char* filename, int objRank);
- int CreateSpot(D3DVECTOR pos, D3DCOLORVALUE color);
+ int CreateSpot(Math::Vector pos, D3DCOLORVALUE color);
protected:
bool EventFrame(const Event &event);
@@ -298,9 +298,9 @@ protected:
void CreateScene(bool bSoluce, bool bFixScene, bool bResetObject);
void CreateModel();
- D3DVECTOR LookatPoint( D3DVECTOR eye, float angleH, float angleV, float length );
- CObject* CreateObject(D3DVECTOR pos, float angle, float zoom, float height, ObjectType type, float power=1.0f, bool bTrainer=false, bool bToy=false, int option=0);
- int CreateLight(D3DVECTOR direction, D3DCOLORVALUE color);
+ Math::Vector LookatPoint( Math::Vector eye, float angleH, float angleV, float length );
+ CObject* CreateObject(Math::Vector pos, float angle, float zoom, float height, ObjectType type, float power=1.0f, bool bTrainer=false, bool bToy=false, int option=0);
+ int CreateLight(Math::Vector direction, D3DCOLORVALUE color);
void HiliteClear();
void HiliteObject(Math::Point pos);
void HiliteFrame(float rTime);
@@ -425,8 +425,8 @@ protected:
CObject* m_visitArrow;
float m_visitTime;
float m_visitParticule;
- D3DVECTOR m_visitPos;
- D3DVECTOR m_visitPosArrow;
+ Math::Vector m_visitPos;
+ Math::Vector m_visitPosArrow;
int m_endTakeTotal;
EndTake m_endTake[10];
diff --git a/src/object/task/taskadvance.cpp b/src/object/task/taskadvance.cpp
index 8387dbe..c7326c4 100644
--- a/src/object/task/taskadvance.cpp
+++ b/src/object/task/taskadvance.cpp
@@ -22,6 +22,7 @@
#include <d3d.h>
#include "common/struct.h"
+#include "math/geometry.h"
#include "graphics/d3d/d3dengine.h"
#include "math/old/math3d.h"
#include "common/event.h"
@@ -100,7 +101,7 @@ Error CTaskAdvance::Start(float length)
Error CTaskAdvance::IsEnded()
{
- D3DVECTOR pos;
+ Math::Vector pos;
float length;
if ( m_engine->RetPause() ) return ERR_CONTINUE;
@@ -117,7 +118,7 @@ Error CTaskAdvance::IsEnded()
}
pos = m_object->RetPosition(0);
- length = Length2d(pos, m_startPos);
+ length = Math::DistanceProjected(pos, m_startPos);
if ( length > m_lastDist ) // forward?
{
diff --git a/src/object/task/taskadvance.h b/src/object/task/taskadvance.h
index ee7346f..a109962 100644
--- a/src/object/task/taskadvance.h
+++ b/src/object/task/taskadvance.h
@@ -48,7 +48,7 @@ protected:
float m_advanceLength;
float m_direction;
float m_timeLimit;
- D3DVECTOR m_startPos;
+ Math::Vector m_startPos;
float m_lastDist;
float m_fixTime;
bool m_bError;
diff --git a/src/object/task/taskbuild.cpp b/src/object/task/taskbuild.cpp
index a031ade..6a448c9 100644
--- a/src/object/task/taskbuild.cpp
+++ b/src/object/task/taskbuild.cpp
@@ -88,7 +88,7 @@ CTaskBuild::~CTaskBuild()
// Creates a building.
-bool CTaskBuild::CreateBuilding(D3DVECTOR pos, float angle)
+bool CTaskBuild::CreateBuilding(Math::Vector pos, float angle)
{
m_building = new CObject(m_iMan);
if ( !m_building->CreateBuilding(pos, angle, 0.0f, m_type, 0.0f) )
@@ -127,7 +127,7 @@ void CTaskBuild::CreateLight()
{
D3DLIGHT7 light;
D3DCOLORVALUE color;
- D3DVECTOR center, pos, dir;
+ Math::Vector center, pos, dir;
Math::Point c, p;
float angle;
int i;
@@ -211,8 +211,8 @@ void CTaskBuild::BlackLight()
bool CTaskBuild::EventProcess(const Event &event)
{
- D3DMATRIX* mat;
- D3DVECTOR pos, dir, speed;
+ Math::Matrix* mat;
+ Math::Vector pos, dir, speed;
Math::Point dim;
float a, g, cirSpeed, dist, linSpeed;
@@ -238,7 +238,7 @@ bool CTaskBuild::EventProcess(const Event &event)
if ( m_phase == TBP_MOVE ) // preliminary forward/backward?
{
- dist = Length(m_object->RetPosition(0), m_metal->RetPosition(0));
+ dist = Math::Distance(m_object->RetPosition(0), m_metal->RetPosition(0));
linSpeed = 0.0f;
if ( dist > 30.0f ) linSpeed = 1.0f;
if ( dist < 30.0f ) linSpeed = -1.0f;
@@ -278,7 +278,7 @@ bool CTaskBuild::EventProcess(const Event &event)
m_metal->SetLock(false); // usable again
m_motion->SetAction(-1);
m_object->SetObjectParent(14, 0);
- m_object->SetPosition(14, D3DVECTOR(-1.5f, 0.3f, -1.35f));
+ m_object->SetPosition(14, Math::Vector(-1.5f, 0.3f, -1.35f));
m_object->SetAngleZ(14, Math::PI);
m_camera->FlushEffect();
Abort();
@@ -320,7 +320,7 @@ bool CTaskBuild::EventProcess(const Event &event)
dim.y = dim.x;
m_particule->CreateParticule(pos, speed, dim, PARTIFIRE);
- pos = D3DVECTOR(0.0f, 0.5f, 0.0f);
+ pos = Math::Vector(0.0f, 0.5f, 0.0f);
mat = m_object->RetWorldMatrix(14);
pos = Transform(*mat, pos);
speed = m_metal->RetPosition(0);
@@ -345,7 +345,7 @@ bool CTaskBuild::EventProcess(const Event &event)
Error CTaskBuild::Start(ObjectType type)
{
- D3DVECTOR pos, speed, pv, pm;
+ Math::Vector pos, speed, pv, pm;
Error err;
float iAngle, oAngle;
@@ -391,7 +391,7 @@ Error CTaskBuild::Start(ObjectType type)
pv = m_object->RetPosition(0);
pv.y += 8.3f;
pm = m_metal->RetPosition(0);
- m_angleZ = Math::RotateAngle(Length2d(pv, pm), fabs(pv.y-pm.y));
+ m_angleZ = Math::RotateAngle(Math::DistanceProjected(pv, pm), fabs(pv.y-pm.y));
m_physics->SetFreeze(true); // it does not move
@@ -419,7 +419,7 @@ Error CTaskBuild::IsEnded()
{
m_physics->SetMotorSpeedZ(0.0f);
- dist = Length(m_object->RetPosition(0), m_metal->RetPosition(0));
+ dist = Math::Distance(m_object->RetPosition(0), m_metal->RetPosition(0));
if ( dist > 30.0f )
{
time = m_physics->RetLinTimeLength(dist-30.0f, 1.0f);
@@ -438,7 +438,7 @@ Error CTaskBuild::IsEnded()
if ( m_phase == TBP_MOVE ) // preliminary forward/backward?
{
- dist = Length(m_object->RetPosition(0), m_metal->RetPosition(0));
+ dist = Math::Distance(m_object->RetPosition(0), m_metal->RetPosition(0));
if ( dist >= 25.0f && dist <= 35.0f )
{
@@ -467,7 +467,7 @@ Error CTaskBuild::IsEnded()
m_motion->SetAction(MHS_FIRE); // shooting position
m_object->SetObjectParent(14, 4);
- m_object->SetPosition(14, D3DVECTOR(0.6f, 0.1f, 0.3f));
+ m_object->SetPosition(14, Math::Vector(0.6f, 0.1f, 0.3f));
m_object->SetAngleZ(14, 0.0f);
m_phase = TBP_PREP;
@@ -502,7 +502,7 @@ Error CTaskBuild::IsEnded()
m_metal = 0;
m_building->SetZoom(0, 1.0f);
- m_building->SetCirVibration(D3DVECTOR(0.0f, 0.0f, 0.0f));
+ m_building->SetCirVibration(Math::Vector(0.0f, 0.0f, 0.0f));
m_building->SetLock(false); // building usable
m_main->CreateShortcuts();
m_displayText->DisplayError(INFO_BUILD, m_buildingPos, 10.0f, 50.0f);
@@ -525,7 +525,7 @@ Error CTaskBuild::IsEnded()
m_motion->SetAction(-1);
m_object->SetObjectParent(14, 0);
- m_object->SetPosition(14, D3DVECTOR(-1.5f, 0.3f, -1.35f));
+ m_object->SetPosition(14, Math::Vector(-1.5f, 0.3f, -1.35f));
m_object->SetAngleZ(14, Math::PI);
if ( m_type == OBJECT_FACTORY ||
@@ -574,7 +574,7 @@ Error CTaskBuild::FlatFloor()
{
CObject *pObj;
ObjectType type;
- D3DVECTOR center, pos, oPos, bPos;
+ Math::Vector center, pos, oPos, bPos;
Math::Point c, p;
float radius, max, oRadius, bRadius, angle, dist;
int i, j;
@@ -626,7 +626,7 @@ Error CTaskBuild::FlatFloor()
if ( type == OBJECT_BASE )
{
oPos = pObj->RetPosition(0);
- dist = Length(center, oPos)-80.0f;
+ dist = Math::Distance(center, oPos)-80.0f;
if ( dist < max )
{
max = dist;
@@ -640,7 +640,7 @@ Error CTaskBuild::FlatFloor()
j = 0;
while ( pObj->GetCrashSphere(j++, oPos, oRadius) )
{
- dist = Length(center, oPos)-oRadius;
+ dist = Math::Distance(center, oPos)-oRadius;
if ( dist < max )
{
max = dist;
@@ -692,7 +692,7 @@ Error CTaskBuild::FlatFloor()
j = 0;
while ( pObj->GetCrashSphere(j++, oPos, oRadius) )
{
- dist = Length(center, oPos)-oRadius;
+ dist = Math::Distance(center, oPos)-oRadius;
if ( dist < max )
{
max = dist;
@@ -718,7 +718,7 @@ CObject* CTaskBuild::SearchMetalObject(float &angle, float dMin, float dMax,
float aLimit, Error &err)
{
CObject *pObj, *pBest;
- D3DVECTOR iPos, oPos;
+ Math::Vector iPos, oPos;
ObjectType type;
float min, iAngle, a, aa, aBest, distance, magic;
int i;
@@ -745,7 +745,7 @@ CObject* CTaskBuild::SearchMetalObject(float &angle, float dMin, float dMax,
bMetal = true; // metal exists
oPos = pObj->RetPosition(0);
- distance = Length(oPos, iPos);
+ distance = Math::Distance(oPos, iPos);
a = Math::RotateAngle(oPos.x-iPos.x, iPos.z-oPos.z); // CW!
if ( distance > dMax ) continue;
@@ -784,10 +784,10 @@ CObject* CTaskBuild::SearchMetalObject(float &angle, float dMin, float dMax,
// Destroys all the close marks.
-void CTaskBuild::DeleteMark(D3DVECTOR pos, float radius)
+void CTaskBuild::DeleteMark(Math::Vector pos, float radius)
{
CObject* pObj;
- D3DVECTOR oPos;
+ Math::Vector oPos;
ObjectType type;
float distance;
int i;
@@ -807,7 +807,7 @@ void CTaskBuild::DeleteMark(D3DVECTOR pos, float radius)
type != OBJECT_MARKPOWER ) continue;
oPos = pObj->RetPosition(0);
- distance = Length(oPos, pos);
+ distance = Math::Distance(oPos, pos);
if ( distance <= radius )
{
pObj->DeleteObject(); // removes the mark
diff --git a/src/object/task/taskbuild.h b/src/object/task/taskbuild.h
index 44698bd..f1908d0 100644
--- a/src/object/task/taskbuild.h
+++ b/src/object/task/taskbuild.h
@@ -61,11 +61,11 @@ public:
protected:
Error FlatFloor();
- bool CreateBuilding(D3DVECTOR pos, float angle);
+ bool CreateBuilding(Math::Vector pos, float angle);
void CreateLight();
void BlackLight();
CObject* SearchMetalObject(float &angle, float dMin, float dMax, float aLimit, Error &err);
- void DeleteMark(D3DVECTOR pos, float radius);
+ void DeleteMark(Math::Vector pos, float radius);
protected:
ObjectType m_type; // type of construction
@@ -82,7 +82,7 @@ protected:
float m_speed; // speed of progression
float m_angleY; // rotation angle of the vehicle
float m_angleZ; // angle of rotation of the gun
- D3DVECTOR m_buildingPos; // initial position of the building
+ Math::Vector m_buildingPos; // initial position of the building
float m_buildingHeight; // height of the building
int m_lightRank[TBMAXLIGHT];// lights for the effects
int m_soundChannel;
diff --git a/src/object/task/taskfire.cpp b/src/object/task/taskfire.cpp
index a470933..4e28d35 100644
--- a/src/object/task/taskfire.cpp
+++ b/src/object/task/taskfire.cpp
@@ -22,6 +22,7 @@
#include <d3d.h>
#include "common/struct.h"
+#include "math/geometry.h"
#include "math/old/math3d.h"
#include "common/event.h"
#include "common/misc.h"
@@ -70,8 +71,8 @@ bool CTaskFire::EventProcess(const Event &event)
{
CObject* power;
CPhysics* physics;
- D3DMATRIX* mat;
- D3DVECTOR pos, speed, dir, vib;
+ Math::Matrix* mat;
+ Math::Vector pos, speed, dir, vib;
ObjectType type;
Math::Point dim;
float energy, fire;
@@ -106,10 +107,10 @@ bool CTaskFire::EventProcess(const Event &event)
for ( i=0 ; i<6 ; i++ )
{
- pos = D3DVECTOR(0.0f, 2.5f, 0.0f);
- pos = Transform(*mat, pos);
+ pos = Math::Vector(0.0f, 2.5f, 0.0f);
+ pos = Math::Transform(*mat, pos);
- speed = D3DVECTOR(200.0f, 0.0f, 0.0f);
+ speed = Math::Vector(200.0f, 0.0f, 0.0f);
physics = m_object->RetPhysics();
if ( physics != 0 )
@@ -120,7 +121,7 @@ bool CTaskFire::EventProcess(const Event &event)
speed.x += (Math::Rand()-0.5f)*10.0f;
speed.y += (Math::Rand()-0.5f)*20.0f;
speed.z += (Math::Rand()-0.5f)*30.0f;
- speed = Transform(*mat, speed);
+ speed = Math::Transform(*mat, speed);
speed -= pos;
dim.x = Math::Rand()*0.5f+0.5f;
@@ -136,16 +137,16 @@ bool CTaskFire::EventProcess(const Event &event)
for ( i=0 ; i<4 ; i++ )
{
- pos = D3DVECTOR(4.0f, 0.0f, 0.0f);
+ pos = Math::Vector(4.0f, 0.0f, 0.0f);
pos.y += (rand()%3-1)*1.5f;
pos.z += (rand()%3-1)*1.5f;
- pos = Transform(*mat, pos);
+ pos = Math::Transform(*mat, pos);
- speed = D3DVECTOR(200.0f, 0.0f, 0.0f);
+ speed = Math::Vector(200.0f, 0.0f, 0.0f);
speed.x += (Math::Rand()-0.5f)*6.0f;
speed.y += (Math::Rand()-0.5f)*12.0f;
speed.z += (Math::Rand()-0.5f)*12.0f;
- speed = Transform(*mat, speed);
+ speed = Math::Transform(*mat, speed);
speed -= pos;
dim.x = 1.0f;
@@ -154,11 +155,11 @@ bool CTaskFire::EventProcess(const Event &event)
2.0f, 200.0f, 0.5f, 1.0f);
m_particule->SetObjectFather(channel, m_object);
- speed = D3DVECTOR(5.0f, 0.0f, 0.0f);
+ speed = Math::Vector(5.0f, 0.0f, 0.0f);
speed.x += (Math::Rand()-0.5f)*1.0f;
speed.y += (Math::Rand()-0.5f)*2.0f;
speed.z += (Math::Rand()-0.5f)*2.0f;
- speed = Transform(*mat, speed);
+ speed = Math::Transform(*mat, speed);
speed -= pos;
speed.y += 5.0f;
@@ -184,17 +185,17 @@ bool CTaskFire::EventProcess(const Event &event)
{
if ( type == OBJECT_MOBILErc )
{
- pos = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ pos = Math::Vector(0.0f, 0.0f, 0.0f);
}
else
{
- pos = D3DVECTOR(3.0f, 1.0f, 0.0f);
+ pos = Math::Vector(3.0f, 1.0f, 0.0f);
}
pos.y += (Math::Rand()-0.5f)*1.0f;
pos.z += (Math::Rand()-0.5f)*1.0f;
- pos = Transform(*mat, pos);
+ pos = Math::Transform(*mat, pos);
- speed = D3DVECTOR(200.0f, 0.0f, 0.0f);
+ speed = Math::Vector(200.0f, 0.0f, 0.0f);
physics = m_object->RetPhysics();
if ( physics != 0 )
@@ -205,7 +206,7 @@ bool CTaskFire::EventProcess(const Event &event)
speed.x += (Math::Rand()-0.5f)*3.0f;
speed.y += (Math::Rand()-0.5f)*6.0f;
speed.z += (Math::Rand()-0.5f)*6.0f;
- speed = Transform(*mat, speed);
+ speed = Math::Transform(*mat, speed);
speed -= pos;
dim.x = Math::Rand()*0.7f+0.7f;
@@ -218,16 +219,16 @@ bool CTaskFire::EventProcess(const Event &event)
if ( type != OBJECT_MOBILErc &&
m_progress > 0.3f )
{
- pos = D3DVECTOR(-1.0f, 1.0f, 0.0f);
+ pos = Math::Vector(-1.0f, 1.0f, 0.0f);
pos.y += (Math::Rand()-0.5f)*0.4f;
pos.z += (Math::Rand()-0.5f)*0.4f;
- pos = Transform(*mat, pos);
+ pos = Math::Transform(*mat, pos);
- speed = D3DVECTOR(-4.0f, 0.0f, 0.0f);
+ speed = Math::Vector(-4.0f, 0.0f, 0.0f);
speed.x += (Math::Rand()-0.5f)*2.0f;
speed.y += (Math::Rand()-0.2f)*4.0f;
speed.z += (Math::Rand()-0.5f)*4.0f;
- speed = Transform(*mat, speed);
+ speed = Math::Transform(*mat, speed);
speed -= pos;
dim.x = Math::Rand()*1.2f+1.2f;
@@ -238,7 +239,7 @@ bool CTaskFire::EventProcess(const Event &event)
}
}
- dir = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ dir = Math::Vector(0.0f, 0.0f, 0.0f);
if ( m_progress < 0.1f )
{
dir.z = (Math::PI*0.04f)*(m_progress*10.0f);
@@ -279,7 +280,7 @@ bool CTaskFire::EventProcess(const Event &event)
Error CTaskFire::Start(float delay)
{
CObject* power;
- D3DVECTOR pos, goal, speed;
+ Math::Vector pos, goal, speed;
float energy, fire;
ObjectType type;
@@ -378,9 +379,9 @@ Error CTaskFire::IsEnded()
bool CTaskFire::Abort()
{
- m_object->SetInclinaison(D3DVECTOR(0.0f, 0.0f, 0.0f));
- m_object->SetCirVibration(D3DVECTOR(0.0f, 0.0f, 0.0f));
- m_object->SetLinVibration(D3DVECTOR(0.0f, 0.0f, 0.0f));
+ m_object->SetInclinaison(Math::Vector(0.0f, 0.0f, 0.0f));
+ m_object->SetCirVibration(Math::Vector(0.0f, 0.0f, 0.0f));
+ m_object->SetLinVibration(Math::Vector(0.0f, 0.0f, 0.0f));
if ( m_soundChannel != -1 )
{
diff --git a/src/object/task/taskfireant.cpp b/src/object/task/taskfireant.cpp
index 0c7aaf6..f2fbd09 100644
--- a/src/object/task/taskfireant.cpp
+++ b/src/object/task/taskfireant.cpp
@@ -60,7 +60,7 @@ CTaskFireAnt::~CTaskFireAnt()
bool CTaskFireAnt::EventProcess(const Event &event)
{
- D3DVECTOR dir, vib;
+ Math::Vector dir, vib;
float a, g, cirSpeed;
if ( m_engine->RetPause() ) return true;
@@ -93,9 +93,9 @@ bool CTaskFireAnt::EventProcess(const Event &event)
// Assigns the goal was achieved.
-Error CTaskFireAnt::Start(D3DVECTOR impact)
+Error CTaskFireAnt::Start(Math::Vector impact)
{
- D3DVECTOR pos;
+ Math::Vector pos;
ObjectType type;
m_impact = impact;
@@ -109,7 +109,7 @@ Error CTaskFireAnt::Start(D3DVECTOR impact)
// Insect on its back?
if ( m_object->RetFixed() ) return ERR_FIRE_VEH;
- m_physics->SetMotorSpeed(D3DVECTOR(0.0f, 0.0f, 0.0f));
+ m_physics->SetMotorSpeed(Math::Vector(0.0f, 0.0f, 0.0f));
pos = m_object->RetPosition(0);
m_angle = Math::RotateAngle(m_impact.x-pos.x, pos.z-m_impact.z); // CW !
@@ -129,8 +129,8 @@ Error CTaskFireAnt::Start(D3DVECTOR impact)
Error CTaskFireAnt::IsEnded()
{
- D3DMATRIX* mat;
- D3DVECTOR pos, speed;
+ Math::Matrix* mat;
+ Math::Vector pos, speed;
Math::Point dim;
float angle, dist;
int i, channel;
@@ -175,10 +175,10 @@ Error CTaskFireAnt::IsEnded()
for ( i=0 ; i<20 ; i++ )
{
- pos = D3DVECTOR(-2.5f, -0.7f, 0.0f);
+ pos = Math::Vector(-2.5f, -0.7f, 0.0f);
mat = m_object->RetWorldMatrix(2);
- pos = Transform(*mat, pos);
- dist = Length(pos, m_impact);
+ pos = Math::Transform(*mat, pos);
+ dist = Math::Distance(pos, m_impact);
speed = m_impact-pos;
speed.x += (Math::Rand()-0.5f)*dist*1.2f;
speed.y += (Math::Rand()-0.5f)*dist*0.4f+50.0f;
diff --git a/src/object/task/taskfireant.h b/src/object/task/taskfireant.h
index 8f9ea49..46df388 100644
--- a/src/object/task/taskfireant.h
+++ b/src/object/task/taskfireant.h
@@ -50,14 +50,14 @@ public:
bool EventProcess(const Event &event);
- Error Start(D3DVECTOR impact);
+ Error Start(Math::Vector impact);
Error IsEnded();
bool Abort();
protected:
protected:
- D3DVECTOR m_impact;
+ Math::Vector m_impact;
TaskFireAnt m_phase;
float m_progress;
float m_speed;
diff --git a/src/object/task/taskflag.cpp b/src/object/task/taskflag.cpp
index aa853f2..0899737 100644
--- a/src/object/task/taskflag.cpp
+++ b/src/object/task/taskflag.cpp
@@ -79,7 +79,7 @@ bool CTaskFlag::EventProcess(const Event &event)
Error CTaskFlag::Start(TaskFlagOrder order, int rank)
{
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Error err;
m_order = order;
@@ -145,11 +145,11 @@ bool CTaskFlag::Abort()
// Returns the closest object to a given position.
-CObject* CTaskFlag::SearchNearest(D3DVECTOR pos, ObjectType type)
+CObject* CTaskFlag::SearchNearest(Math::Vector pos, ObjectType type)
{
ObjectType oType;
CObject *pObj, *pBest;
- D3DVECTOR oPos;
+ Math::Vector oPos;
float min, dist;
int i;
@@ -177,7 +177,7 @@ CObject* CTaskFlag::SearchNearest(D3DVECTOR pos, ObjectType type)
}
oPos = pObj->RetPosition(0);
- dist = Length2d(oPos, pos);
+ dist = Math::DistanceProjected(oPos, pos);
if ( dist < min )
{
min = dist;
@@ -193,7 +193,7 @@ int CTaskFlag::CountObject(ObjectType type)
{
ObjectType oType;
CObject *pObj;
- D3DVECTOR oPos;
+ Math::Vector oPos;
int i, count;
count = 0;
@@ -230,8 +230,8 @@ Error CTaskFlag::CreateFlag(int rank)
CObject* pObj;
CObject* pNew;
CPyro* pyro;
- D3DMATRIX* mat;
- D3DVECTOR pos;
+ Math::Matrix* mat;
+ Math::Vector pos;
float dist;
int i;
@@ -245,12 +245,12 @@ Error CTaskFlag::CreateFlag(int rank)
};
mat = m_object->RetWorldMatrix(0);
- pos = Transform(*mat, D3DVECTOR(4.0f, 0.0f, 0.0f));
+ pos = Transform(*mat, Math::Vector(4.0f, 0.0f, 0.0f));
pObj = SearchNearest(pos, OBJECT_NULL);
if ( pObj != 0 )
{
- dist = Length(pos, pObj->RetPosition(0));
+ dist = Math::Distance(pos, pObj->RetPosition(0));
if ( dist < 10.0f )
{
return ERR_FLAG_PROXY;
@@ -284,7 +284,7 @@ Error CTaskFlag::DeleteFlag()
{
CObject* pObj;
CPyro* pyro;
- D3DVECTOR iPos, oPos;
+ Math::Vector iPos, oPos;
float iAngle, angle, aLimit, dist;
iPos = m_object->RetPosition(0);
@@ -296,7 +296,7 @@ Error CTaskFlag::DeleteFlag()
{
return ERR_FLAG_DELETE;
}
- dist = Length(iPos, pObj->RetPosition(0));
+ dist = Math::Distance(iPos, pObj->RetPosition(0));
if ( dist > 10.0f )
{
return ERR_FLAG_DELETE;
diff --git a/src/object/task/taskflag.h b/src/object/task/taskflag.h
index 52e78e4..dc15e27 100644
--- a/src/object/task/taskflag.h
+++ b/src/object/task/taskflag.h
@@ -53,7 +53,7 @@ public:
protected:
Error CreateFlag(int rank);
Error DeleteFlag();
- CObject* SearchNearest(D3DVECTOR pos, ObjectType type);
+ CObject* SearchNearest(Math::Vector pos, ObjectType type);
int CountObject(ObjectType type);
protected:
diff --git a/src/object/task/taskgoto.cpp b/src/object/task/taskgoto.cpp
index 3846564..06980c2 100644
--- a/src/object/task/taskgoto.cpp
+++ b/src/object/task/taskgoto.cpp
@@ -65,7 +65,7 @@ CTaskGoto::~CTaskGoto()
bool CTaskGoto::EventProcess(const Event &event)
{
- D3DVECTOR pos, goal;
+ Math::Vector pos, goal;
Math::Point rot, repulse;
float a, g, dist, linSpeed, cirSpeed, h, hh, factor, dir;
Error ret;
@@ -96,7 +96,7 @@ bool CTaskGoto::EventProcess(const Event &event)
rot.x = m_leakPos.x-pos.x;
rot.y = m_leakPos.z-pos.z;
- dist = Length(rot.x, rot.y);
+ dist = Math::Point(rot.x, rot.y).Length();
rot.x /= dist;
rot.y /= dist;
@@ -155,7 +155,7 @@ bool CTaskGoto::EventProcess(const Event &event)
if ( ret == ERR_OK )
{
#if 0
- D3DVECTOR min, max;
+ Math::Vector min, max;
min = pos;
max = m_goal;
if ( min.x > max.x ) Math::Swap(min.x, max.x);
@@ -175,7 +175,7 @@ bool CTaskGoto::EventProcess(const Event &event)
if ( ret == ERR_GOTO_IMPOSSIBLE || ret == ERR_GOTO_ITER )
{
#if 0
- D3DVECTOR min, max;
+ Math::Vector min, max;
min = pos;
max = m_goal;
if ( min.x > max.x ) Math::Swap(min.x, max.x);
@@ -229,7 +229,7 @@ bool CTaskGoto::EventProcess(const Event &event)
goal = m_bmPoints[m_bmIndex];
goal.y = pos.y;
h = m_terrain->RetFloorHeight(goal, true, true);
- dist = Length2d(pos, goal);
+ dist = Math::DistanceProjected(pos, goal);
if ( dist != 0.0f ) // anticipates?
{
linSpeed = m_physics->RetLinMotionX(MO_REASPEED);
@@ -255,7 +255,7 @@ bool CTaskGoto::EventProcess(const Event &event)
rot.x = m_bmPoints[m_bmIndex].x-pos.x;
rot.y = m_bmPoints[m_bmIndex].z-pos.z;
- dist = Length(rot.x, rot.y);
+ dist = Math::Point(rot.x, rot.y).Length();
rot.x /= dist;
rot.y /= dist;
@@ -284,7 +284,7 @@ bool CTaskGoto::EventProcess(const Event &event)
linSpeed = 0.0f; // turns first, then advance
}
- dist = Length2d(pos, m_bmWatchDogPos);
+ dist = Math::DistanceProjected(pos, m_bmWatchDogPos);
if ( dist < 1.0f && linSpeed != 0.0f )
{
m_bmWatchDogTime += event.rTime;
@@ -367,7 +367,7 @@ bool CTaskGoto::EventProcess(const Event &event)
m_altitude > 0.0f )
{
pos = m_object->RetPosition(0);
- dist = Length2d(m_goal, pos);
+ dist = Math::DistanceProjected(m_goal, pos);
factor = (dist-20.0f)/20.0f;
if ( factor < 0.0f ) factor = 0.0f;
if ( factor > 1.0f ) factor = 1.0f;
@@ -406,7 +406,7 @@ bool CTaskGoto::EventProcess(const Event &event)
if ( cirSpeed > 1.0f ) cirSpeed = 1.0f;
if ( cirSpeed < -1.0f ) cirSpeed = -1.0f;
- dist = Length2d(m_goal, pos);
+ dist = Math::DistanceProjected(m_goal, pos);
linSpeed = dist/(m_physics->RetLinStopLength()*1.5f);
if ( linSpeed > 1.0f ) linSpeed = 1.0f;
@@ -419,7 +419,7 @@ bool CTaskGoto::EventProcess(const Event &event)
rot.x = m_goal.x-pos.x;
rot.y = m_goal.z-pos.z;
- dist = Length(rot.x, rot.y);
+ dist = Math::Point(rot.x, rot.y).Length();
rot.x /= dist;
rot.y /= dist;
@@ -438,7 +438,7 @@ bool CTaskGoto::EventProcess(const Event &event)
if ( cirSpeed > 1.0f ) cirSpeed = 1.0f;
if ( cirSpeed < -1.0f ) cirSpeed = -1.0f;
- dist = Length2d(m_goal, pos);
+ dist = Math::DistanceProjected(m_goal, pos);
linSpeed = dist/(m_physics->RetLinStopLength()*1.5f);
//? if ( m_physics->RetType() == TYPE_FLYING &&
//? m_physics->RetLand() ) // flying on the ground?
@@ -516,11 +516,11 @@ bool CTaskGoto::EventProcess(const Event &event)
// Sought a target for the worm.
-CObject* CTaskGoto::WormSearch(D3DVECTOR &impact)
+CObject* CTaskGoto::WormSearch(Math::Vector &impact)
{
CObject* pObj;
CObject* pBest = 0;
- D3DVECTOR iPos, oPos;
+ Math::Vector iPos, oPos;
ObjectType oType;
float distance, min, radius;
int i;
@@ -581,7 +581,7 @@ CObject* CTaskGoto::WormSearch(D3DVECTOR &impact)
if ( pObj->RetVirusMode() ) continue; // object infected?
if ( !pObj->GetCrashSphere(0, oPos, radius) ) continue;
- distance = Length2d(oPos, iPos);
+ distance = Math::DistanceProjected(oPos, iPos);
if ( distance < min )
{
min = distance;
@@ -599,7 +599,7 @@ CObject* CTaskGoto::WormSearch(D3DVECTOR &impact)
void CTaskGoto::WormFrame(float rTime)
{
CObject* pObj;
- D3DVECTOR impact, pos;
+ Math::Vector impact, pos;
float dist;
m_wormLastTime += rTime;
@@ -612,7 +612,7 @@ void CTaskGoto::WormFrame(float rTime)
if ( pObj != 0 )
{
pos = m_object->RetPosition(0);
- dist = Length(pos, impact);
+ dist = Math::Distance(pos, impact);
if ( dist <= 15.0f )
{
pObj->SetVirusMode(true); // bam, infected!
@@ -626,10 +626,10 @@ void CTaskGoto::WormFrame(float rTime)
// Assigns the goal was achieved.
// "dist" is the distance that needs to go far to make a deposit or object.
-Error CTaskGoto::Start(D3DVECTOR goal, float altitude,
+Error CTaskGoto::Start(Math::Vector goal, float altitude,
TaskGotoGoal goalMode, TaskGotoCrash crashMode)
{
- D3DVECTOR pos;
+ Math::Vector pos;
CObject* target;
ObjectType type;
float dist;
@@ -677,7 +677,7 @@ Error CTaskGoto::Start(D3DVECTOR goal, float altitude,
m_bmFinalMove = 0.0f;
pos = m_object->RetPosition(0);
- dist = Length2d(pos, m_goal);
+ dist = Math::DistanceProjected(pos, m_goal);
if ( dist < 10.0f && m_crashMode == TGC_BEAM )
{
m_crashMode = TGC_RIGHTLEFT;
@@ -754,7 +754,7 @@ Error CTaskGoto::Start(D3DVECTOR goal, float altitude,
if ( m_physics->RetType() == TYPE_FLYING && m_altitude == 0.0f )
{
pos = m_object->RetPosition(0);
- dist = Length2d(pos, m_goal);
+ dist = Math::DistanceProjected(pos, m_goal);
if ( dist > FLY_DIST_GROUND ) // over 20 meters?
{
m_altitude = FLY_DEF_HEIGHT; // default altitude
@@ -770,7 +770,7 @@ Error CTaskGoto::Start(D3DVECTOR goal, float altitude,
if ( BitmapTestDot(0, x, y) ) // arrival occupied?
{
#if 0
- D3DVECTOR min, max;
+ Math::Vector min, max;
min = m_object->RetPosition(0);
max = m_goal;
if ( min.x > max.x ) Math::Swap(min.x, max.x);
@@ -794,7 +794,7 @@ Error CTaskGoto::Start(D3DVECTOR goal, float altitude,
Error CTaskGoto::IsEnded()
{
- D3DVECTOR pos;
+ Math::Vector pos;
float limit, angle, dist, h, level;
if ( m_engine->RetPause() ) return ERR_CONTINUE;
@@ -907,7 +907,7 @@ Error CTaskGoto::IsEnded()
if ( m_goalMode == TGG_EXPRESS )
{
- dist = Length2d(m_goal, pos);
+ dist = Math::DistanceProjected(m_goal, pos);
if ( dist < 10.0f && dist > m_lastDistance )
{
return ERR_STOP;
@@ -1001,7 +1001,7 @@ Error CTaskGoto::IsEnded()
if ( m_phase == TGP_CRADVANCE ) // advance after collision?
{
- if ( Length(pos, m_pos) >= 5.0f )
+ if ( Math::Distance(pos, m_pos) >= 5.0f )
{
m_phase = TGP_ADVANCE;
}
@@ -1034,7 +1034,7 @@ Error CTaskGoto::IsEnded()
if ( m_phase == TGP_CLADVANCE ) // advance after collision?
{
- if ( Length(pos, m_pos) >= 10.0f )
+ if ( Math::Distance(pos, m_pos) >= 10.0f )
{
m_phase = TGP_ADVANCE;
m_try ++;
@@ -1050,7 +1050,7 @@ Error CTaskGoto::IsEnded()
return ERR_STOP;
}
- dist = Length(m_bmFinalPos, m_object->RetPosition(0));
+ dist = Math::Distance(m_bmFinalPos, m_object->RetPosition(0));
if ( dist < m_bmFinalDist ) return ERR_CONTINUE;
m_physics->SetMotorSpeedX(0.0f); // stops the advance
return ERR_STOP;
@@ -1062,10 +1062,10 @@ Error CTaskGoto::IsEnded()
// Tries the object is the target position.
-CObject* CTaskGoto::SearchTarget(D3DVECTOR pos, float margin)
+CObject* CTaskGoto::SearchTarget(Math::Vector pos, float margin)
{
CObject *pObj, *pBest;
- D3DVECTOR oPos;
+ Math::Vector oPos;
float dist, min;
int i;
@@ -1080,7 +1080,7 @@ CObject* CTaskGoto::SearchTarget(D3DVECTOR pos, float margin)
if ( pObj->RetTruck() != 0 ) continue; // object transtorted?
oPos = pObj->RetPosition(0);
- dist = Length2d(pos, oPos);
+ dist = Math::DistanceProjected(pos, oPos);
if ( dist <= margin && dist <= min )
{
@@ -1095,12 +1095,12 @@ CObject* CTaskGoto::SearchTarget(D3DVECTOR pos, float margin)
// Adjusts the target as a function of the object.
// Returns true if it is cargo laying on the ground, which can be approached from any site.
-bool CTaskGoto::AdjustTarget(CObject* pObj, D3DVECTOR &pos, float &distance)
+bool CTaskGoto::AdjustTarget(CObject* pObj, Math::Vector &pos, float &distance)
{
ObjectType type;
Character* character;
- D3DMATRIX* mat;
- D3DVECTOR goal;
+ Math::Matrix* mat;
+ Math::Vector goal;
float dist, suppl;
type = m_object->RetType();
@@ -1141,7 +1141,7 @@ bool CTaskGoto::AdjustTarget(CObject* pObj, D3DVECTOR &pos, float &distance)
{
pos = m_object->RetPosition(0);
goal = pObj->RetPosition(0);
- dist = Length(goal, pos);
+ dist = Math::Distance(goal, pos);
pos = (pos-goal)*(TAKE_DIST+distance)/dist + goal;
return true; // approach from all sites
}
@@ -1150,7 +1150,7 @@ bool CTaskGoto::AdjustTarget(CObject* pObj, D3DVECTOR &pos, float &distance)
{
pos = m_object->RetPosition(0);
goal = pObj->RetPosition(0);
- dist = Length(goal, pos);
+ dist = Math::Distance(goal, pos);
pos = (pos-goal)*(TAKE_DIST+distance)/dist + goal;
return true; // approach from all sites
}
@@ -1206,10 +1206,10 @@ bool CTaskGoto::AdjustTarget(CObject* pObj, D3DVECTOR &pos, float &distance)
// If you are on an object produced by a building (ore produced by derrick),
// changes the position by report the building.
-bool CTaskGoto::AdjustBuilding(D3DVECTOR &pos, float margin, float &distance)
+bool CTaskGoto::AdjustBuilding(Math::Vector &pos, float margin, float &distance)
{
CObject* pObj;
- D3DVECTOR oPos;
+ Math::Vector oPos;
float dist, suppl;
int i;
@@ -1222,7 +1222,7 @@ bool CTaskGoto::AdjustBuilding(D3DVECTOR &pos, float margin, float &distance)
if ( pObj->RetTruck() != 0 ) continue; // object transported?
if ( !GetHotPoint(pObj, oPos, false, 0.0f, suppl) ) continue;
- dist = Length2d(pos, oPos);
+ dist = Math::DistanceProjected(pos, oPos);
if ( dist <= margin )
{
GetHotPoint(pObj, pos, true, distance, suppl);
@@ -1235,13 +1235,13 @@ bool CTaskGoto::AdjustBuilding(D3DVECTOR &pos, float margin, float &distance)
// Returns the item or product or pose is something on a building.
-bool CTaskGoto::GetHotPoint(CObject *pObj, D3DVECTOR &pos,
+bool CTaskGoto::GetHotPoint(CObject *pObj, Math::Vector &pos,
bool bTake, float distance, float &suppl)
{
ObjectType type;
- D3DMATRIX* mat;
+ Math::Matrix* mat;
- pos = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ pos = Math::Vector(0.0f, 0.0f, 0.0f);
suppl = 0.0f;
type = pObj->RetType();
@@ -1371,10 +1371,10 @@ bool CTaskGoto::GetHotPoint(CObject *pObj, D3DVECTOR &pos,
// Seeks an object too close that he must flee.
-bool CTaskGoto::LeakSearch(D3DVECTOR &pos, float &delay)
+bool CTaskGoto::LeakSearch(Math::Vector &pos, float &delay)
{
CObject *pObj, *pObstacle;
- D3DVECTOR iPos, oPos, bPos;
+ Math::Vector iPos, oPos, bPos;
float iRadius, oRadius, bRadius, dist, min, dir;
int i, j;
@@ -1396,7 +1396,7 @@ bool CTaskGoto::LeakSearch(D3DVECTOR &pos, float &delay)
j = 0;
while ( pObj->GetCrashSphere(j++, oPos, oRadius) )
{
- dist = Length2d(oPos, iPos);
+ dist = Math::DistanceProjected(oPos, iPos);
if ( dist < min )
{
min = dist;
@@ -1431,7 +1431,7 @@ bool CTaskGoto::LeakSearch(D3DVECTOR &pos, float &delay)
void CTaskGoto::ComputeRepulse(Math::Point &dir)
{
#if 0
- D3DVECTOR iPos, oPos;
+ Math::Vector iPos, oPos;
Math::Point repulse;
CObject *pObj;
float dist, iRadius, oRadius;
@@ -1451,12 +1451,12 @@ void CTaskGoto::ComputeRepulse(Math::Point &dir)
if ( pObj->RetTruck() != 0 ) continue;
oPos = pObj->RetPosition(0);
- dist = Length(oPos, m_goalObject);
+ dist = Math::Distance(oPos, m_goalObject);
if ( dist <= 1.0f ) continue;
pObj->GetGlobalSphere(oPos, oRadius);
oRadius += iRadius+m_physics->RetLinStopLength()*1.1f;
- dist = Length2d(oPos, iPos);
+ dist = Math::DistanceProjected(oPos, iPos);
if ( dist <= oRadius )
{
repulse.x = iPos.x-oPos.x;
@@ -1476,7 +1476,7 @@ void CTaskGoto::ComputeRepulse(Math::Point &dir)
}
#else
ObjectType iType, oType;
- D3DVECTOR iPos, oPos;
+ Math::Vector iPos, oPos;
Math::Point repulse;
CObject *pObj;
float gDist, add, addi, fac, dist, iRadius, oRadius;
@@ -1491,7 +1491,7 @@ void CTaskGoto::ComputeRepulse(Math::Point &dir)
if ( iType == OBJECT_WORM ) return;
m_object->GetCrashSphere(0, iPos, iRadius);
- gDist = Length(iPos, m_goal);
+ gDist = Math::Distance(iPos, m_goal);
add = m_physics->RetLinStopLength()*1.1f; // braking distance
fac = 2.0f;
@@ -1616,11 +1616,11 @@ void CTaskGoto::ComputeRepulse(Math::Point &dir)
if ( oPos.y-oRadius > iPos.y+iRadius ) continue;
if ( oPos.y+oRadius < iPos.y-iRadius ) continue;
- dist = Length(oPos, m_goal);
+ dist = Math::Distance(oPos, m_goal);
if ( dist <= 1.0f ) continue; // on purpose?
oRadius += iRadius+addi;
- dist = Length2d(oPos, iPos);
+ dist = Math::DistanceProjected(oPos, iPos);
if ( dist > gDist ) continue; // beyond the goal?
if ( dist <= oRadius )
{
@@ -1646,7 +1646,7 @@ void CTaskGoto::ComputeRepulse(Math::Point &dir)
void CTaskGoto::ComputeFlyingRepulse(float &dir)
{
ObjectType oType;
- D3DVECTOR iPos, oPos;
+ Math::Vector iPos, oPos;
CObject *pObj;
float add, fac, dist, iRadius, oRadius, repulse;
int i, j;
@@ -1673,7 +1673,7 @@ void CTaskGoto::ComputeFlyingRepulse(float &dir)
while ( pObj->GetCrashSphere(j++, oPos, oRadius) )
{
oRadius += iRadius+add;
- dist = Length2d(oPos, iPos);
+ dist = Math::DistanceProjected(oPos, iPos);
if ( dist <= oRadius )
{
repulse = iPos.y-oPos.y;
@@ -1715,7 +1715,7 @@ int CTaskGoto::BeamShortcut()
void CTaskGoto::BeamStart()
{
- D3DVECTOR min, max;
+ Math::Vector min, max;
BitmapOpen();
BitmapObject();
@@ -1765,7 +1765,7 @@ void CTaskGoto::BeamInit()
// ERR_CONTINUE if not done yet
// goalRadius: distance at which we must approach the goal
-Error CTaskGoto::BeamSearch(const D3DVECTOR &start, const D3DVECTOR &goal,
+Error CTaskGoto::BeamSearch(const Math::Vector &start, const Math::Vector &goal,
float goalRadius)
{
float step, len;
@@ -1773,7 +1773,7 @@ Error CTaskGoto::BeamSearch(const D3DVECTOR &start, const D3DVECTOR &goal,
m_bmStep ++;
- len = Length2d(start, goal);
+ len = Math::DistanceProjected(start, goal);
step = len/5.0f;
if ( step < BM_DIM_STEP*2.1f ) step = BM_DIM_STEP*2.1f;
if ( step > 20.0f ) step = 20.0f;
@@ -1791,12 +1791,12 @@ Error CTaskGoto::BeamSearch(const D3DVECTOR &start, const D3DVECTOR &goal,
// i number of recursions made
// nbIter maximum number of iterations you have the right to make before temporarily interrupt
-Error CTaskGoto::BeamExplore(const D3DVECTOR &prevPos, const D3DVECTOR &curPos,
- const D3DVECTOR &goalPos, float goalRadius,
+Error CTaskGoto::BeamExplore(const Math::Vector &prevPos, const Math::Vector &curPos,
+ const Math::Vector &goalPos, float goalRadius,
float angle, int nbDiv, float step,
int i, int nbIter)
{
- D3DVECTOR newPos;
+ Math::Vector newPos;
Error ret;
int iDiv, iClear, iLar;
@@ -1817,7 +1817,7 @@ Error CTaskGoto::BeamExplore(const D3DVECTOR &prevPos, const D3DVECTOR &curPos,
m_bmPoints[i] = curPos;
- if ( Length2d(curPos, goalPos)-goalRadius <= step )
+ if ( Math::DistanceProjected(curPos, goalPos)-goalRadius <= step )
{
if ( goalRadius == 0.0f )
{
@@ -1825,7 +1825,7 @@ Error CTaskGoto::BeamExplore(const D3DVECTOR &prevPos, const D3DVECTOR &curPos,
}
else
{
- newPos = BeamPoint(curPos, goalPos, 0, Length2d(curPos, goalPos)-goalRadius);
+ newPos = BeamPoint(curPos, goalPos, 0, Math::DistanceProjected(curPos, goalPos)-goalRadius);
}
if ( BitmapTestLine(curPos, newPos, angle/nbDiv, false) )
{
@@ -1882,11 +1882,11 @@ Error CTaskGoto::BeamExplore(const D3DVECTOR &prevPos, const D3DVECTOR &curPos,
// Is a right "start-goal". Calculates the point located at the distance "step"
// from the point "start" and an angle "angle" with the right.
-D3DVECTOR CTaskGoto::BeamPoint(const D3DVECTOR &startPoint,
- const D3DVECTOR &goalPoint,
+Math::Vector CTaskGoto::BeamPoint(const Math::Vector &startPoint,
+ const Math::Vector &goalPoint,
float angle, float step)
{
- D3DVECTOR resPoint;
+ Math::Vector resPoint;
float goalAngle;
goalAngle = Math::RotateAngle(goalPoint.x-startPoint.x, goalPoint.z-startPoint.z);
@@ -1900,8 +1900,8 @@ D3DVECTOR CTaskGoto::BeamPoint(const D3DVECTOR &startPoint,
// Displays a bitmap part.
-void CTaskGoto::BitmapDebug(const D3DVECTOR &min, const D3DVECTOR &max,
- const D3DVECTOR &start, const D3DVECTOR &goal)
+void CTaskGoto::BitmapDebug(const Math::Vector &min, const Math::Vector &max,
+ const Math::Vector &start, const Math::Vector &goal)
{
int minx, miny, maxx, maxy, x, y, i ,n;
char s[2000];
@@ -1978,17 +1978,17 @@ void CTaskGoto::BitmapDebug(const D3DVECTOR &min, const D3DVECTOR &max,
// Tests if a path along a straight line is possible.
-bool CTaskGoto::BitmapTestLine(const D3DVECTOR &start, const D3DVECTOR &goal,
+bool CTaskGoto::BitmapTestLine(const Math::Vector &start, const Math::Vector &goal,
float stepAngle, bool bSecond)
{
- D3DVECTOR pos, inc;
+ Math::Vector pos, inc;
float dist, step;
float distNoB2;
int i, max, x, y;
if ( m_bmArray == 0 ) return true;
- dist = Length2d(start, goal);
+ dist = Math::DistanceProjected(start, goal);
if ( dist == 0.0f ) return true;
step = BM_DIM_STEP*0.5f;
@@ -2043,7 +2043,7 @@ void CTaskGoto::BitmapObject()
{
CObject *pObj;
ObjectType type;
- D3DVECTOR iPos, oPos;
+ Math::Vector iPos, oPos;
float iRadius, oRadius, h;
int i, j;
@@ -2087,7 +2087,7 @@ void CTaskGoto::BitmapObject()
// Adds a section of land in the bitmap.
-void CTaskGoto::BitmapTerrain(const D3DVECTOR &min, const D3DVECTOR &max)
+void CTaskGoto::BitmapTerrain(const Math::Vector &min, const Math::Vector &max)
{
int minx, miny, maxx, maxy;
@@ -2104,7 +2104,7 @@ void CTaskGoto::BitmapTerrain(const D3DVECTOR &min, const D3DVECTOR &max)
void CTaskGoto::BitmapTerrain(int minx, int miny, int maxx, int maxy)
{
ObjectType type;
- D3DVECTOR p;
+ Math::Vector p;
float aLimit, angle, h;
int x, y;
bool bAcceptWater, bFly;
@@ -2265,7 +2265,7 @@ bool CTaskGoto::BitmapClose()
// Puts a circle in the bitmap.
-void CTaskGoto::BitmapSetCircle(const D3DVECTOR &pos, float radius)
+void CTaskGoto::BitmapSetCircle(const Math::Vector &pos, float radius)
{
float d, r;
int cx, cy, ix, iy;
@@ -2278,7 +2278,7 @@ void CTaskGoto::BitmapSetCircle(const D3DVECTOR &pos, float radius)
{
for ( ix=cx-(int)r ; ix<=cx+(int)r ; ix++ )
{
- d = Length((float)(ix-cx), (float)(iy-cy));
+ d = Math::Point((float)(ix-cx), (float)(iy-cy)).Length();
if ( d > r ) continue;
BitmapSetDot(0, ix, iy);
}
@@ -2287,7 +2287,7 @@ void CTaskGoto::BitmapSetCircle(const D3DVECTOR &pos, float radius)
// Removes a circle in the bitmap.
-void CTaskGoto::BitmapClearCircle(const D3DVECTOR &pos, float radius)
+void CTaskGoto::BitmapClearCircle(const Math::Vector &pos, float radius)
{
float d, r;
int cx, cy, ix, iy;
@@ -2300,7 +2300,7 @@ void CTaskGoto::BitmapClearCircle(const D3DVECTOR &pos, float radius)
{
for ( ix=cx-(int)r ; ix<=cx+(int)r ; ix++ )
{
- d = Length((float)(ix-cx), (float)(iy-cy));
+ d = Math::Point((float)(ix-cx), (float)(iy-cy)).Length();
if ( d > r ) continue;
BitmapClearDot(0, ix, iy);
}
diff --git a/src/object/task/taskgoto.h b/src/object/task/taskgoto.h
index d0e4953..97009d4 100644
--- a/src/object/task/taskgoto.h
+++ b/src/object/task/taskgoto.h
@@ -84,43 +84,43 @@ public:
bool EventProcess(const Event &event);
- Error Start(D3DVECTOR goal, float altitude, TaskGotoGoal goalMode, TaskGotoCrash crashMode);
+ Error Start(Math::Vector goal, float altitude, TaskGotoGoal goalMode, TaskGotoCrash crashMode);
Error IsEnded();
protected:
- CObject* WormSearch(D3DVECTOR &impact);
+ CObject* WormSearch(Math::Vector &impact);
void WormFrame(float rTime);
- CObject* SearchTarget(D3DVECTOR pos, float margin);
- bool AdjustTarget(CObject* pObj, D3DVECTOR &pos, float &distance);
- bool AdjustBuilding(D3DVECTOR &pos, float margin, float &distance);
- bool GetHotPoint(CObject *pObj, D3DVECTOR &pos, bool bTake, float distance, float &suppl);
- bool LeakSearch(D3DVECTOR &pos, float &delay);
+ CObject* SearchTarget(Math::Vector pos, float margin);
+ bool AdjustTarget(CObject* pObj, Math::Vector &pos, float &distance);
+ bool AdjustBuilding(Math::Vector &pos, float margin, float &distance);
+ bool GetHotPoint(CObject *pObj, Math::Vector &pos, bool bTake, float distance, float &suppl);
+ bool LeakSearch(Math::Vector &pos, float &delay);
void ComputeRepulse(Math::Point &dir);
void ComputeFlyingRepulse(float &dir);
int BeamShortcut();
void BeamStart();
void BeamInit();
- Error BeamSearch(const D3DVECTOR &start, const D3DVECTOR &goal, float goalRadius);
- Error BeamExplore(const D3DVECTOR &prevPos, const D3DVECTOR &curPos, const D3DVECTOR &goalPos, float goalRadius, float angle, int nbDiv, float step, int i, int nbIter);
- D3DVECTOR BeamPoint(const D3DVECTOR &startPoint, const D3DVECTOR &goalPoint, float angle, float step);
+ Error BeamSearch(const Math::Vector &start, const Math::Vector &goal, float goalRadius);
+ Error BeamExplore(const Math::Vector &prevPos, const Math::Vector &curPos, const Math::Vector &goalPos, float goalRadius, float angle, int nbDiv, float step, int i, int nbIter);
+ Math::Vector BeamPoint(const Math::Vector &startPoint, const Math::Vector &goalPoint, float angle, float step);
- void BitmapDebug(const D3DVECTOR &min, const D3DVECTOR &max, const D3DVECTOR &start, const D3DVECTOR &goal);
- bool BitmapTestLine(const D3DVECTOR &start, const D3DVECTOR &goal, float stepAngle, bool bSecond);
+ void BitmapDebug(const Math::Vector &min, const Math::Vector &max, const Math::Vector &start, const Math::Vector &goal);
+ bool BitmapTestLine(const Math::Vector &start, const Math::Vector &goal, float stepAngle, bool bSecond);
void BitmapObject();
- void BitmapTerrain(const D3DVECTOR &min, const D3DVECTOR &max);
+ void BitmapTerrain(const Math::Vector &min, const Math::Vector &max);
void BitmapTerrain(int minx, int miny, int maxx, int maxy);
bool BitmapOpen();
bool BitmapClose();
- void BitmapSetCircle(const D3DVECTOR &pos, float radius);
- void BitmapClearCircle(const D3DVECTOR &pos, float radius);
+ void BitmapSetCircle(const Math::Vector &pos, float radius);
+ void BitmapClearCircle(const Math::Vector &pos, float radius);
void BitmapSetDot(int rank, int x, int y);
void BitmapClearDot(int rank, int x, int y);
bool BitmapTestDot(int rank, int x, int y);
protected:
- D3DVECTOR m_goal;
- D3DVECTOR m_goalObject;
+ Math::Vector m_goal;
+ Math::Vector m_goalObject;
float m_angle;
float m_altitude;
TaskGotoCrash m_crashMode;
@@ -131,7 +131,7 @@ protected:
bool m_bTake;
float m_stopLength; // braking distance
float m_time;
- D3DVECTOR m_pos;
+ Math::Vector m_pos;
bool m_bWorm;
bool m_bApprox;
float m_wormLastTime;
@@ -145,18 +145,18 @@ protected:
int m_bmMaxX, m_bmMaxY;
int m_bmTotal; // number of points in m_bmPoints
int m_bmIndex; // index in m_bmPoints
- D3DVECTOR m_bmPoints[MAXPOINTS+2];
+ Math::Vector m_bmPoints[MAXPOINTS+2];
char m_bmIter[MAXPOINTS+2];
int m_bmIterCounter;
CObject* m_bmFretObject;
float m_bmFinalMove; // final advance distance
float m_bmFinalDist; // effective distance to advance
- D3DVECTOR m_bmFinalPos; // initial position before advance
+ Math::Vector m_bmFinalPos; // initial position before advance
float m_bmTimeLimit;
int m_bmStep;
- D3DVECTOR m_bmWatchDogPos;
+ Math::Vector m_bmWatchDogPos;
float m_bmWatchDogTime;
- D3DVECTOR m_leakPos; // initial position leak
+ Math::Vector m_leakPos; // initial position leak
float m_leakDelay;
float m_leakTime;
bool m_bLeakRecede;
diff --git a/src/object/task/taskinfo.cpp b/src/object/task/taskinfo.cpp
index 3548426..7ce0a36 100644
--- a/src/object/task/taskinfo.cpp
+++ b/src/object/task/taskinfo.cpp
@@ -75,7 +75,7 @@ Error CTaskInfo::Start(char *name, float value, float power, bool bSend)
{
CObject* pInfo;
CAutoInfo* pAuto;
- D3DVECTOR pos, goal;
+ Math::Vector pos, goal;
Info info;
int i, total, op;
@@ -196,7 +196,7 @@ bool CTaskInfo::Abort()
CObject* CTaskInfo::SearchInfo(float power)
{
CObject *pObj, *pBest;
- D3DVECTOR iPos, oPos;
+ Math::Vector iPos, oPos;
ObjectType type;
float dist, min;
int i;
@@ -216,7 +216,7 @@ CObject* CTaskInfo::SearchInfo(float power)
if ( !pObj->RetActif() ) continue;
oPos = pObj->RetPosition(0);
- dist = Length(oPos, iPos);
+ dist = Math::Distance(oPos, iPos);
if ( dist > power ) continue; // too far?
if ( dist < min )
{
diff --git a/src/object/task/taskmanager.cpp b/src/object/task/taskmanager.cpp
index 2ec51fc..a4956b5 100644
--- a/src/object/task/taskmanager.cpp
+++ b/src/object/task/taskmanager.cpp
@@ -99,7 +99,7 @@ Error CTaskManager::StartTaskTurn(float angle)
// Reaches a given position.
-Error CTaskManager::StartTaskGoto(D3DVECTOR pos, float altitude, TaskGotoGoal goalMode, TaskGotoCrash crashMode)
+Error CTaskManager::StartTaskGoto(Math::Vector pos, float altitude, TaskGotoGoal goalMode, TaskGotoCrash crashMode)
{
m_task = new CTaskGoto(m_iMan, m_object);
return ((CTaskGoto*)m_task)->Start(pos, altitude, goalMode, crashMode);
@@ -208,7 +208,7 @@ Error CTaskManager::StartTaskFire(float delay)
// Shoots with the ant.
-Error CTaskManager::StartTaskFireAnt(D3DVECTOR impact)
+Error CTaskManager::StartTaskFireAnt(Math::Vector impact)
{
m_task = new CTaskFireAnt(m_iMan, m_object);
return ((CTaskFireAnt*)m_task)->Start(impact);
@@ -232,7 +232,7 @@ Error CTaskManager::StartTaskSpiderExplo()
// Reset.
-Error CTaskManager::StartTaskReset(D3DVECTOR goal, D3DVECTOR angle)
+Error CTaskManager::StartTaskReset(Math::Vector goal, Math::Vector angle)
{
m_task = new CTaskReset(m_iMan, m_object);
return ((CTaskReset*)m_task)->Start(goal, angle);
diff --git a/src/object/task/taskmanager.h b/src/object/task/taskmanager.h
index 36406e4..410efcf 100644
--- a/src/object/task/taskmanager.h
+++ b/src/object/task/taskmanager.h
@@ -41,7 +41,7 @@ public:
Error StartTaskWait(float time);
Error StartTaskAdvance(float length);
Error StartTaskTurn(float angle);
- Error StartTaskGoto(D3DVECTOR pos, float altitude, TaskGotoGoal goalMode, TaskGotoCrash crashMode);
+ Error StartTaskGoto(Math::Vector pos, float altitude, TaskGotoGoal goalMode, TaskGotoCrash crashMode);
Error StartTaskTake();
Error StartTaskManip(TaskManipOrder order, TaskManipArm arm);
Error StartTaskFlag(TaskFlagOrder order, int rank);
@@ -53,10 +53,10 @@ public:
Error StartTaskRecover();
Error StartTaskShield(TaskShieldMode mode, float delay);
Error StartTaskFire(float delay);
- Error StartTaskFireAnt(D3DVECTOR impact);
+ Error StartTaskFireAnt(Math::Vector impact);
Error StartTaskGunGoal(float dirV, float dirH);
Error StartTaskSpiderExplo();
- Error StartTaskReset(D3DVECTOR goal, D3DVECTOR angle);
+ Error StartTaskReset(Math::Vector goal, Math::Vector angle);
bool EventProcess(const Event &event);
Error IsEnded();
diff --git a/src/object/task/taskmanip.cpp b/src/object/task/taskmanip.cpp
index 3e1fea7..6f20cad 100644
--- a/src/object/task/taskmanip.cpp
+++ b/src/object/task/taskmanip.cpp
@@ -73,7 +73,7 @@ CTaskManip::~CTaskManip()
bool CTaskManip::EventProcess(const Event &event)
{
- D3DVECTOR pos;
+ Math::Vector pos;
float angle, a, g, cirSpeed, progress;
int i;
@@ -305,7 +305,7 @@ Error CTaskManip::Start(TaskManipOrder order, TaskManipArm arm)
CPyro *pyro;
float iAngle, dist, len;
float fDist, fAngle, oDist, oAngle, oHeight;
- D3DVECTOR pos, fPos, oPos;
+ Math::Vector pos, fPos, oPos;
m_arm = arm;
m_height = 0.0f;
@@ -324,7 +324,7 @@ Error CTaskManip::Start(TaskManipOrder order, TaskManipArm arm)
m_arm != TMA_POWER &&
m_arm != TMA_GRAB ) return ERR_MANIP_VEH;
- m_physics->SetMotorSpeed(D3DVECTOR(0.0f, 0.0f, 0.0f));
+ m_physics->SetMotorSpeed(Math::Vector(0.0f, 0.0f, 0.0f));
type = m_object->RetType();
if ( type == OBJECT_BEE ) // bee?
@@ -338,7 +338,7 @@ Error CTaskManip::Start(TaskManipOrder order, TaskManipArm arm)
m_object->SetFret(other); // takes the ball
other->SetTruck(m_object);
other->SetTruckPart(0); // taken with the base
- other->SetPosition(0, D3DVECTOR(0.0f, -3.0f, 0.0f));
+ other->SetPosition(0, Math::Vector(0.0f, -3.0f, 0.0f));
}
else
{
@@ -482,12 +482,12 @@ Error CTaskManip::Start(TaskManipOrder order, TaskManipArm arm)
}
else
{
- if ( !IsFreeDeposeObject(D3DVECTOR(TAKE_DIST, 0.0f, 0.0f)) ) return ERR_MANIP_OCC;
+ if ( !IsFreeDeposeObject(Math::Vector(TAKE_DIST, 0.0f, 0.0f)) ) return ERR_MANIP_OCC;
}
}
if ( m_arm == TMA_FBACK )
{
- if ( !IsFreeDeposeObject(D3DVECTOR(-TAKE_DIST, 0.0f, 0.0f)) ) return ERR_MANIP_OCC;
+ if ( !IsFreeDeposeObject(Math::Vector(-TAKE_DIST, 0.0f, 0.0f)) ) return ERR_MANIP_OCC;
}
if ( m_arm == TMA_POWER )
{
@@ -495,7 +495,7 @@ Error CTaskManip::Start(TaskManipOrder order, TaskManipArm arm)
}
}
- dist = Length(m_object->RetPosition(0), m_targetPos);
+ dist = Math::Distance(m_object->RetPosition(0), m_targetPos);
len = dist-TAKE_DIST;
if ( m_arm == TMA_OTHER ) len -= TAKE_DIST_OTHER;
if ( len < 0.0f ) len = 0.0f;
@@ -548,7 +548,7 @@ Error CTaskManip::Start(TaskManipOrder order, TaskManipArm arm)
Error CTaskManip::IsEnded()
{
CObject* fret;
- D3DVECTOR pos;
+ Math::Vector pos;
float angle, dist;
int i;
@@ -582,7 +582,7 @@ Error CTaskManip::IsEnded()
if ( m_timeLimit <= 0.0f )
{
//OK 1.9
- dist = Length(m_object->RetPosition(0), m_targetPos);
+ dist = Math::Distance(m_object->RetPosition(0), m_targetPos);
if ( dist <= m_advanceLength + 2.0f )
{
m_move = 0.0f; // advance ended
@@ -600,7 +600,7 @@ Error CTaskManip::IsEnded()
}
}
- dist = Length(m_object->RetPosition(0), m_targetPos);
+ dist = Math::Distance(m_object->RetPosition(0), m_targetPos);
if ( dist <= m_advanceLength )
{
m_move = 0.0f; // advance ended
@@ -733,10 +733,10 @@ bool CTaskManip::Abort()
// Seeks the object below to take (for bees).
-CObject* CTaskManip::SearchTakeUnderObject(D3DVECTOR &pos, float dLimit)
+CObject* CTaskManip::SearchTakeUnderObject(Math::Vector &pos, float dLimit)
{
CObject *pObj, *pBest;
- D3DVECTOR iPos, oPos;
+ Math::Vector iPos, oPos;
ObjectType type;
float min, distance;
int i;
@@ -771,7 +771,7 @@ CObject* CTaskManip::SearchTakeUnderObject(D3DVECTOR &pos, float dLimit)
if ( pObj->RetZoomY(0) != 1.0f ) continue;
oPos = pObj->RetPosition(0);
- distance = Length(oPos, iPos);
+ distance = Math::Distance(oPos, iPos);
if ( distance <= dLimit &&
distance < min )
{
@@ -788,11 +788,11 @@ CObject* CTaskManip::SearchTakeUnderObject(D3DVECTOR &pos, float dLimit)
// Seeks the object in front to take.
-CObject* CTaskManip::SearchTakeFrontObject(bool bAdvance, D3DVECTOR &pos,
+CObject* CTaskManip::SearchTakeFrontObject(bool bAdvance, Math::Vector &pos,
float &distance, float &angle)
{
CObject *pObj, *pBest;
- D3DVECTOR iPos, oPos;
+ Math::Vector iPos, oPos;
ObjectType type;
float min, iAngle, bAngle, aLimit, dLimit, f;
int i;
@@ -847,7 +847,7 @@ CObject* CTaskManip::SearchTakeFrontObject(bool bAdvance, D3DVECTOR &pos,
if ( pObj->RetZoomY(0) != 1.0f ) continue;
oPos = pObj->RetPosition(0);
- distance = fabs(Length(oPos, iPos)-TAKE_DIST);
+ distance = fabs(Math::Distance(oPos, iPos)-TAKE_DIST);
f = 1.0f-distance/50.0f;
if ( f < 0.5f ) f = 0.5f;
@@ -880,11 +880,11 @@ CObject* CTaskManip::SearchTakeFrontObject(bool bAdvance, D3DVECTOR &pos,
// Seeks the object back to take.
-CObject* CTaskManip::SearchTakeBackObject(bool bAdvance, D3DVECTOR &pos,
+CObject* CTaskManip::SearchTakeBackObject(bool bAdvance, Math::Vector &pos,
float &distance, float &angle)
{
CObject *pObj, *pBest;
- D3DVECTOR iPos, oPos;
+ Math::Vector iPos, oPos;
ObjectType type;
float min, iAngle, bAngle, aLimit, dLimit, f;
int i;
@@ -938,7 +938,7 @@ CObject* CTaskManip::SearchTakeBackObject(bool bAdvance, D3DVECTOR &pos,
if ( pObj->RetZoomY(0) != 1.0f ) continue;
oPos = pObj->RetPosition(0);
- distance = fabs(Length(oPos, iPos)-TAKE_DIST);
+ distance = fabs(Math::Distance(oPos, iPos)-TAKE_DIST);
f = 1.0f-distance/50.0f;
if ( f < 0.5f ) f = 0.5f;
@@ -971,15 +971,15 @@ CObject* CTaskManip::SearchTakeBackObject(bool bAdvance, D3DVECTOR &pos,
// Seeks the robot or building on which it wants to put a battery or or other object.
-CObject* CTaskManip::SearchOtherObject(bool bAdvance, D3DVECTOR &pos,
+CObject* CTaskManip::SearchOtherObject(bool bAdvance, Math::Vector &pos,
float &distance, float &angle,
float &height)
{
Character* character;
CObject* pObj;
CObject* pPower;
- D3DMATRIX* mat;
- D3DVECTOR iPos, oPos;
+ Math::Matrix* mat;
+ Math::Vector iPos, oPos;
ObjectType type, powerType;
float iAngle, iRad, oAngle, oLimit, aLimit, dLimit;
int i;
@@ -1086,7 +1086,7 @@ CObject* CTaskManip::SearchOtherObject(bool bAdvance, D3DVECTOR &pos,
angle = Math::RotateAngle(iPos.x-oPos.x, oPos.z-iPos.z); // CW !
if ( !Math::TestAngle(angle, oAngle-oLimit, oAngle+oLimit) ) continue;
- distance = fabs(Length(oPos, iPos)-TAKE_DIST);
+ distance = fabs(Math::Distance(oPos, iPos)-TAKE_DIST);
if ( distance <= dLimit )
{
angle = Math::RotateAngle(oPos.x-iPos.x, iPos.z-oPos.z); // CW !
@@ -1111,8 +1111,8 @@ bool CTaskManip::TruckTakeObject()
{
CObject* fret;
CObject* other;
- D3DMATRIX matRotate;
- D3DVECTOR pos;
+ Math::Matrix matRotate;
+ Math::Vector pos;
float angle, dist;
if ( m_arm == TMA_GRAB ) // takes immediately?
@@ -1127,7 +1127,7 @@ bool CTaskManip::TruckTakeObject()
fret->SetTruck(m_object);
fret->SetTruckPart(4); // takes with the hand
- fret->SetPosition(0, D3DVECTOR(1.7f, -0.5f, 1.1f));
+ fret->SetPosition(0, Math::Vector(1.7f, -0.5f, 1.1f));
fret->SetAngleY(0, 0.1f);
fret->SetAngleX(0, 0.0f);
fret->SetAngleZ(0, 0.8f);
@@ -1137,7 +1137,7 @@ bool CTaskManip::TruckTakeObject()
fret->SetTruck(m_object);
fret->SetTruckPart(2); // takes with the right claw
- pos = D3DVECTOR(1.1f, -1.0f, 1.0f); // relative
+ pos = Math::Vector(1.1f, -1.0f, 1.0f); // relative
fret->SetPosition(0, pos);
fret->SetAngleX(0, 0.0f);
fret->SetAngleY(0, 0.0f);
@@ -1148,7 +1148,7 @@ bool CTaskManip::TruckTakeObject()
fret->SetTruck(m_object);
fret->SetTruckPart(3); // takes with the hand
- pos = D3DVECTOR(4.7f, 0.0f, 0.0f); // relative to the hand (lem4)
+ pos = Math::Vector(4.7f, 0.0f, 0.0f); // relative to the hand (lem4)
fret->SetPosition(0, pos);
fret->SetAngleX(0, 0.0f);
fret->SetAngleZ(0, Math::PI/2.0f);
@@ -1169,7 +1169,7 @@ bool CTaskManip::TruckTakeObject()
fret->SetTruck(m_object);
fret->SetTruckPart(2); // takes with the right claw
- pos = D3DVECTOR(1.1f, -1.0f, 1.0f); // relative
+ pos = Math::Vector(1.1f, -1.0f, 1.0f); // relative
fret->SetPosition(0, pos);
fret->SetAngleX(0, 0.0f);
fret->SetAngleY(0, 0.0f);
@@ -1180,7 +1180,7 @@ bool CTaskManip::TruckTakeObject()
fret->SetTruck(m_object);
fret->SetTruckPart(3); // takes with the hand
- pos = D3DVECTOR(4.7f, 0.0f, 0.0f); // relative to the hand (lem4)
+ pos = Math::Vector(4.7f, 0.0f, 0.0f); // relative to the hand (lem4)
fret->SetPosition(0, pos);
fret->SetAngleX(0, 0.0f);
fret->SetAngleZ(0, Math::PI/2.0f);
@@ -1199,7 +1199,7 @@ bool CTaskManip::TruckTakeObject()
fret->SetTruck(m_object);
fret->SetTruckPart(3); // takes with the hand
- pos = D3DVECTOR(4.7f, 0.0f, 0.0f); // relative to the hand (lem4)
+ pos = Math::Vector(4.7f, 0.0f, 0.0f); // relative to the hand (lem4)
fret->SetPosition(0, pos);
fret->SetAngleX(0, 0.0f);
fret->SetAngleZ(0, Math::PI/2.0f);
@@ -1214,7 +1214,7 @@ bool CTaskManip::TruckTakeObject()
if ( fret == 0 ) return false; // no battery?
m_fretType = fret->RetType();
- pos = D3DVECTOR(4.7f, 0.0f, 0.0f); // relative to the hand (lem4)
+ pos = Math::Vector(4.7f, 0.0f, 0.0f); // relative to the hand (lem4)
fret->SetPosition(0, pos);
fret->SetAngleX(0, 0.0f);
fret->SetAngleZ(0, Math::PI/2.0f);
@@ -1238,7 +1238,7 @@ bool CTaskManip::TruckTakeObject()
fret->SetTruck(m_object);
fret->SetTruckPart(3); // takes with the hand
- pos = D3DVECTOR(4.7f, 0.0f, 0.0f); // relative to the hand (lem4)
+ pos = Math::Vector(4.7f, 0.0f, 0.0f); // relative to the hand (lem4)
fret->SetPosition(0, pos);
fret->SetAngleX(0, 0.0f);
fret->SetAngleZ(0, Math::PI/2.0f);
@@ -1257,8 +1257,8 @@ bool CTaskManip::TruckDeposeObject()
Character* character;
CObject* fret;
CObject* other;
- D3DMATRIX* mat;
- D3DVECTOR pos;
+ Math::Matrix* mat;
+ Math::Vector pos;
float angle, dist;
if ( m_arm == TMA_FFRONT ) // deposits on the ground in front?
@@ -1268,7 +1268,7 @@ bool CTaskManip::TruckDeposeObject()
m_fretType = fret->RetType();
mat = fret->RetWorldMatrix(0);
- pos = Transform(*mat, D3DVECTOR(0.0f, 1.0f, 0.0f));
+ pos = Transform(*mat, Math::Vector(0.0f, 1.0f, 0.0f));
m_terrain->MoveOnFloor(pos);
fret->SetPosition(0, pos);
fret->SetAngleY(0, m_object->RetAngleY(0)+Math::PI/2.0f);
@@ -1287,7 +1287,7 @@ bool CTaskManip::TruckDeposeObject()
m_fretType = fret->RetType();
mat = fret->RetWorldMatrix(0);
- pos = Transform(*mat, D3DVECTOR(0.0f, 1.0f, 0.0f));
+ pos = Transform(*mat, Math::Vector(0.0f, 1.0f, 0.0f));
m_terrain->MoveOnFloor(pos);
fret->SetPosition(0, pos);
fret->SetAngleY(0, m_object->RetAngleY(0)+Math::PI/2.0f);
@@ -1349,11 +1349,11 @@ bool CTaskManip::TruckDeposeObject()
// Seeks if a location allows to deposit an object.
-bool CTaskManip::IsFreeDeposeObject(D3DVECTOR pos)
+bool CTaskManip::IsFreeDeposeObject(Math::Vector pos)
{
CObject* pObj;
- D3DMATRIX* mat;
- D3DVECTOR iPos, oPos;
+ Math::Matrix* mat;
+ Math::Vector iPos, oPos;
float oRadius;
int i, j;
@@ -1372,7 +1372,7 @@ bool CTaskManip::IsFreeDeposeObject(D3DVECTOR pos)
j = 0;
while ( pObj->GetCrashSphere(j++, oPos, oRadius) )
{
- if ( Length(iPos, oPos)-(oRadius+1.0f) < 2.0f )
+ if ( Math::Distance(iPos, oPos)-(oRadius+1.0f) < 2.0f )
{
return false; // location occupied
}
diff --git a/src/object/task/taskmanip.h b/src/object/task/taskmanip.h
index da1be09..77360f3 100644
--- a/src/object/task/taskmanip.h
+++ b/src/object/task/taskmanip.h
@@ -72,13 +72,13 @@ public:
protected:
void InitAngle();
- CObject* SearchTakeUnderObject(D3DVECTOR &pos, float dLimit);
- CObject* SearchTakeFrontObject(bool bAdvance, D3DVECTOR &pos, float &distance, float &angle);
- CObject* SearchTakeBackObject(bool bAdvance, D3DVECTOR &pos, float &distance, float &angle);
- CObject* SearchOtherObject(bool bAdvance, D3DVECTOR &pos, float &distance, float &angle, float &height);
+ CObject* SearchTakeUnderObject(Math::Vector &pos, float dLimit);
+ CObject* SearchTakeFrontObject(bool bAdvance, Math::Vector &pos, float &distance, float &angle);
+ CObject* SearchTakeBackObject(bool bAdvance, Math::Vector &pos, float &distance, float &angle);
+ CObject* SearchOtherObject(bool bAdvance, Math::Vector &pos, float &distance, float &angle, float &height);
bool TruckTakeObject();
bool TruckDeposeObject();
- bool IsFreeDeposeObject(D3DVECTOR pos);
+ bool IsFreeDeposeObject(Math::Vector pos);
void SoundManip(float time, float amplitude=1.0f, float frequency=1.0f);
protected:
@@ -99,7 +99,7 @@ protected:
bool m_bBee;
float m_angle;
float m_move;
- D3DVECTOR m_targetPos;
+ Math::Vector m_targetPos;
float m_timeLimit;
ObjectType m_fretType;
};
diff --git a/src/object/task/taskpen.cpp b/src/object/task/taskpen.cpp
index 8a62431..3e29d30 100644
--- a/src/object/task/taskpen.cpp
+++ b/src/object/task/taskpen.cpp
@@ -22,6 +22,7 @@
#include <d3d.h>
#include "common/struct.h"
+#include "math/geometry.h"
#include "math/old/math3d.h"
#include "common/event.h"
#include "common/misc.h"
@@ -59,7 +60,7 @@ CTaskPen::~CTaskPen()
bool CTaskPen::EventProcess(const Event &event)
{
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim;
int i;
@@ -145,8 +146,8 @@ bool CTaskPen::EventProcess(const Event &event)
Error CTaskPen::Start(bool bDown, int color)
{
- D3DVECTOR pos;
- D3DMATRIX* mat;
+ Math::Vector pos;
+ Math::Matrix* mat;
ObjectType type;
int i;
@@ -182,8 +183,8 @@ Error CTaskPen::Start(bool bDown, int color)
}
mat = m_object->RetWorldMatrix(0);
- pos = D3DVECTOR(-3.0f, 7.0f, 0.0f);
- pos = Transform(*mat, pos); // position of carousel
+ pos = Math::Vector(-3.0f, 7.0f, 0.0f);
+ pos = Math::Transform(*mat, pos); // position of carousel
m_supportPos = pos;
m_phase = TPP_UP;
diff --git a/src/object/task/taskpen.h b/src/object/task/taskpen.h
index 4ed135d..918384b 100644
--- a/src/object/task/taskpen.h
+++ b/src/object/task/taskpen.h
@@ -65,7 +65,7 @@ protected:
float m_delay;
float m_time;
float m_lastParticule;
- D3DVECTOR m_supportPos;
+ Math::Vector m_supportPos;
float m_timeUp;
float m_oldAngle;
diff --git a/src/object/task/taskrecover.cpp b/src/object/task/taskrecover.cpp
index 3e3243c..a7e372a 100644
--- a/src/object/task/taskrecover.cpp
+++ b/src/object/task/taskrecover.cpp
@@ -66,7 +66,7 @@ CTaskRecover::~CTaskRecover()
bool CTaskRecover::EventProcess(const Event &event)
{
CObject* power;
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim;
float a, g, cirSpeed, angle, energy, dist, linSpeed;
@@ -102,7 +102,7 @@ bool CTaskRecover::EventProcess(const Event &event)
if ( m_phase == TRP_MOVE ) // preliminary forward/backward?
{
- dist = Length(m_object->RetPosition(0), m_ruin->RetPosition(0));
+ dist = Math::Distance(m_object->RetPosition(0), m_ruin->RetPosition(0));
linSpeed = 0.0f;
if ( dist > RECOVER_DIST ) linSpeed = 1.0f;
if ( dist < RECOVER_DIST ) linSpeed = -1.0f;
@@ -185,8 +185,8 @@ bool CTaskRecover::EventProcess(const Event &event)
Error CTaskRecover::Start()
{
CObject* power;
- D3DMATRIX* mat;
- D3DVECTOR pos, iPos, oPos;
+ Math::Matrix* mat;
+ Math::Vector pos, iPos, oPos;
float energy;
ObjectType type;
@@ -203,7 +203,7 @@ Error CTaskRecover::Start()
if ( energy < ENERGY_RECOVER/power->RetCapacity()+0.05f ) return ERR_RECOVER_ENERGY;
mat = m_object->RetWorldMatrix(0);
- pos = D3DVECTOR(RECOVER_DIST, 3.3f, 0.0f);
+ pos = Math::Vector(RECOVER_DIST, 3.3f, 0.0f);
pos = Transform(*mat, pos); // position in front
m_recoverPos = pos;
@@ -233,8 +233,8 @@ Error CTaskRecover::Start()
Error CTaskRecover::IsEnded()
{
- D3DMATRIX* mat;
- D3DVECTOR pos, speed, goal;
+ Math::Matrix* mat;
+ Math::Vector pos, speed, goal;
Math::Point dim;
float angle, dist, time;
int i;
@@ -251,7 +251,7 @@ Error CTaskRecover::IsEnded()
{
m_physics->SetMotorSpeedZ(0.0f);
- dist = Length(m_object->RetPosition(0), m_ruin->RetPosition(0));
+ dist = Math::Distance(m_object->RetPosition(0), m_ruin->RetPosition(0));
if ( dist > RECOVER_DIST )
{
time = m_physics->RetLinTimeLength(dist-RECOVER_DIST, 1.0f);
@@ -270,7 +270,7 @@ Error CTaskRecover::IsEnded()
if ( m_phase == TRP_MOVE ) // preliminary advance?
{
- dist = Length(m_object->RetPosition(0), m_ruin->RetPosition(0));
+ dist = Math::Distance(m_object->RetPosition(0), m_ruin->RetPosition(0));
if ( dist >= RECOVER_DIST-1.0f &&
dist <= RECOVER_DIST+1.0f )
@@ -278,7 +278,7 @@ Error CTaskRecover::IsEnded()
m_physics->SetMotorSpeedX(0.0f);
mat = m_object->RetWorldMatrix(0);
- pos = D3DVECTOR(RECOVER_DIST, 3.3f, 0.0f);
+ pos = Math::Vector(RECOVER_DIST, 3.3f, 0.0f);
pos = Transform(*mat, pos); // position in front
m_recoverPos = pos;
@@ -323,9 +323,9 @@ Error CTaskRecover::IsEnded()
m_metal->SetZoom(0, 0.0f);
mat = m_object->RetWorldMatrix(0);
- pos = D3DVECTOR(RECOVER_DIST, 3.1f, 3.9f);
+ pos = Math::Vector(RECOVER_DIST, 3.1f, 3.9f);
pos = Transform(*mat, pos);
- goal = D3DVECTOR(RECOVER_DIST, 3.1f, -3.9f);
+ goal = Math::Vector(RECOVER_DIST, 3.1f, -3.9f);
goal = Transform(*mat, goal);
m_particule->CreateRay(pos, goal, PARTIRAY2,
Math::Point(2.0f, 2.0f), 8.0f);
@@ -392,7 +392,7 @@ bool CTaskRecover::Abort()
CObject* CTaskRecover::SearchRuin()
{
CObject *pObj, *pBest;
- D3DVECTOR oPos;
+ Math::Vector oPos;
ObjectType type;
float dist, min;
int i;
@@ -413,7 +413,7 @@ CObject* CTaskRecover::SearchRuin()
type == OBJECT_RUINmobiler2 ) // vehicle in ruin?
{
oPos = pObj->RetPosition(0);
- dist = Length(oPos, m_recoverPos);
+ dist = Math::Distance(oPos, m_recoverPos);
if ( dist > 40.0f ) continue;
if ( dist < min )
diff --git a/src/object/task/taskrecover.h b/src/object/task/taskrecover.h
index 9d9aa07..4632b0b 100644
--- a/src/object/task/taskrecover.h
+++ b/src/object/task/taskrecover.h
@@ -67,7 +67,7 @@ protected:
bool m_bError;
CObject* m_ruin;
CObject* m_metal;
- D3DVECTOR m_recoverPos;
+ Math::Vector m_recoverPos;
int m_soundChannel;
};
diff --git a/src/object/task/taskreset.cpp b/src/object/task/taskreset.cpp
index f44f22a..0d18c6d 100644
--- a/src/object/task/taskreset.cpp
+++ b/src/object/task/taskreset.cpp
@@ -63,7 +63,7 @@ CTaskReset::~CTaskReset()
bool CTaskReset::EventProcess(const Event &event)
{
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim;
float angle, duration;
@@ -175,7 +175,7 @@ bool CTaskReset::EventProcess(const Event &event)
// Assigns the goal was achieved.
// A positive angle makes a turn right.
-Error CTaskReset::Start(D3DVECTOR goal, D3DVECTOR angle)
+Error CTaskReset::Start(Math::Vector goal, Math::Vector angle)
{
CObject* fret;
int i;
@@ -242,7 +242,7 @@ Error CTaskReset::IsEnded()
if ( m_phase == TRSP_ZOUT )
{
- dist = Length(m_begin, m_goal);
+ dist = Math::Distance(m_begin, m_goal);
m_phase = TRSP_MOVE;
m_speed = 1.0f/(dist*RESET_DELAY_MOVE/100.0f);
m_progress = 0.0f;
@@ -283,7 +283,7 @@ Error CTaskReset::IsEnded()
bool CTaskReset::SearchVehicle()
{
CObject* pObj;
- D3DVECTOR oPos;
+ Math::Vector oPos;
ObjectType type;
float oRadius, dist;
int i;
@@ -332,7 +332,7 @@ bool CTaskReset::SearchVehicle()
type != OBJECT_WORM ) continue;
if ( !pObj->GetCrashSphere(0, oPos, oRadius) ) continue;
- dist = Length(oPos, m_goal)-oRadius;
+ dist = Math::Distance(oPos, m_goal)-oRadius;
if ( dist < 5.0f ) return true;
}
diff --git a/src/object/task/taskreset.h b/src/object/task/taskreset.h
index d622cd0..603aef2 100644
--- a/src/object/task/taskreset.h
+++ b/src/object/task/taskreset.h
@@ -48,16 +48,16 @@ public:
bool EventProcess(const Event &event);
- Error Start(D3DVECTOR goal, D3DVECTOR angle);
+ Error Start(Math::Vector goal, Math::Vector angle);
Error IsEnded();
protected:
bool SearchVehicle();
protected:
- D3DVECTOR m_begin;
- D3DVECTOR m_goal;
- D3DVECTOR m_angle;
+ Math::Vector m_begin;
+ Math::Vector m_goal;
+ Math::Vector m_angle;
TaskResetPhase m_phase;
bool m_bError;
diff --git a/src/object/task/tasksearch.cpp b/src/object/task/tasksearch.cpp
index c002d6a..7660bfa 100644
--- a/src/object/task/tasksearch.cpp
+++ b/src/object/task/tasksearch.cpp
@@ -22,6 +22,7 @@
#include <d3d.h>
#include "common/struct.h"
+#include "math/geometry.h"
#include "math/old/math3d.h"
#include "common/event.h"
#include "common/misc.h"
@@ -59,8 +60,8 @@ CTaskSearch::~CTaskSearch()
bool CTaskSearch::EventProcess(const Event &event)
{
- D3DMATRIX* mat;
- D3DVECTOR pos, speed;
+ Math::Matrix* mat;
+ Math::Vector pos, speed;
Math::Point dim;
float angle;
int i;
@@ -89,8 +90,8 @@ bool CTaskSearch::EventProcess(const Event &event)
m_lastParticule = m_time;
mat = m_object->RetWorldMatrix(0);
- pos = D3DVECTOR(6.5f, 0.2f, 0.0f);
- pos = Transform(*mat, pos); // sensor position
+ pos = Math::Vector(6.5f, 0.2f, 0.0f);
+ pos = Math::Transform(*mat, pos); // sensor position
speed.x = (Math::Rand()-0.5f)*20.0f;
speed.z = (Math::Rand()-0.5f)*20.0f;
@@ -135,7 +136,7 @@ void CTaskSearch::InitAngle()
Error CTaskSearch::Start()
{
ObjectType type;
- D3DVECTOR speed;
+ Math::Vector speed;
int i;
m_bError = true;
@@ -240,14 +241,14 @@ bool CTaskSearch::CreateMark()
{
CObject* fret;
ObjectType type;
- D3DMATRIX* mat;
- D3DVECTOR pos;
+ Math::Matrix* mat;
+ Math::Vector pos;
TerrainRes res;
Error info;
mat = m_object->RetWorldMatrix(0);
- pos = D3DVECTOR(7.5f, 0.0f, 0.0f);
- pos = Transform(*mat, pos); // sensor position
+ pos = Math::Vector(7.5f, 0.0f, 0.0f);
+ pos = Math::Transform(*mat, pos); // sensor position
res = m_terrain->RetResource(pos);
if ( res == TR_NULL ) return false;
@@ -310,7 +311,7 @@ bool CTaskSearch::CreateMark()
void CTaskSearch::DeleteMark(ObjectType type)
{
CObject* pObj;
- D3DVECTOR oPos;
+ Math::Vector oPos;
int i;
for ( i=0 ; i<1000000 ; i++ )
diff --git a/src/object/task/taskshield.cpp b/src/object/task/taskshield.cpp
index c4993fc..cedce35 100644
--- a/src/object/task/taskshield.cpp
+++ b/src/object/task/taskshield.cpp
@@ -22,6 +22,7 @@
#include <d3d.h>
#include "math/const.h"
+#include "math/geometry.h"
#include "common/struct.h"
#include "math/old/math3d.h"
#include "common/event.h"
@@ -66,9 +67,9 @@ CTaskShield::~CTaskShield()
bool CTaskShield::EventProcess(const Event &event)
{
CObject* power;
- D3DMATRIX* mat;
- D3DMATRIX matrix;
- D3DVECTOR pos, speed, goal, angle;
+ Math::Matrix* mat;
+ Math::Matrix matrix;
+ Math::Vector pos, speed, goal, angle;
D3DCOLORVALUE color;
Math::Point dim;
float energy;
@@ -82,8 +83,8 @@ bool CTaskShield::EventProcess(const Event &event)
m_delay -= event.rTime;
mat = m_object->RetWorldMatrix(0);
- pos = D3DVECTOR(7.0f, 15.0f, 0.0f);
- pos = Transform(*mat, pos); // sphere position
+ pos = Math::Vector(7.0f, 15.0f, 0.0f);
+ pos = Math::Transform(*mat, pos); // sphere position
m_shieldPos = pos;
if ( m_rankSphere != -1 )
@@ -174,8 +175,8 @@ bool CTaskShield::EventProcess(const Event &event)
angle.x = (Math::Rand()-0.5f)*Math::PI*1.2f;
angle.y = 0.0f;
angle.z = (Math::Rand()-0.5f)*Math::PI*1.2f;
- MatRotateXZY(matrix, angle);
- goal = Transform(matrix, D3DVECTOR(0.0f, RetRadius()-dim.x, 0.0f));
+ Math::LoadRotationXZYMatrix(matrix, angle);
+ goal = Math::Transform(matrix, Math::Vector(0.0f, RetRadius()-dim.x, 0.0f));
goal += pos;
m_particule->CreateRay(pos, goal, PARTIRAY2, dim, 0.3f);
}
@@ -238,8 +239,8 @@ bool CTaskShield::EventProcess(const Event &event)
Error CTaskShield::Start(TaskShieldMode mode, float delay)
{
CObject* power;
- D3DMATRIX* mat;
- D3DVECTOR pos, iPos, oPos, speed;
+ Math::Matrix* mat;
+ Math::Vector pos, iPos, oPos, speed;
ObjectType type;
float energy;
@@ -269,7 +270,7 @@ Error CTaskShield::Start(TaskShieldMode mode, float delay)
if ( energy == 0.0f ) return ERR_SHIELD_ENERGY;
mat = m_object->RetWorldMatrix(0);
- pos = D3DVECTOR(7.0f, 15.0f, 0.0f);
+ pos = Math::Vector(7.0f, 15.0f, 0.0f);
pos = Transform(*mat, pos); // sphere position
m_shieldPos = pos;
@@ -341,7 +342,7 @@ Error CTaskShield::Stop()
Error CTaskShield::IsEnded()
{
CObject* power;
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim;
float energy;
@@ -396,7 +397,7 @@ Error CTaskShield::IsEnded()
m_object->SetShieldRadius(RetRadius());
pos = m_shieldPos;
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = RetRadius();
dim.y = dim.x;
m_rankSphere = m_particule->CreateParticule(pos, speed, dim, PARTISPHERE3, 2.0f, 0.0f, 0.0f);
@@ -449,7 +450,7 @@ bool CTaskShield::IsBusy()
bool CTaskShield::Abort()
{
- D3DVECTOR pos;
+ Math::Vector pos;
m_object->SetShieldRadius(0.0f);
@@ -489,7 +490,7 @@ bool CTaskShield::Abort()
// Creates the light to accompany a pyrotechnic effect.
-bool CTaskShield::CreateLight(D3DVECTOR pos)
+bool CTaskShield::CreateLight(Math::Vector pos)
{
D3DLIGHT7 light;
@@ -530,7 +531,7 @@ void CTaskShield::IncreaseShield()
{
ObjectType type;
CObject* pObj;
- D3DVECTOR oPos;
+ Math::Vector oPos;
float dist, shield;
int i;
@@ -547,7 +548,7 @@ void CTaskShield::IncreaseShield()
type == OBJECT_WORM ) continue;
oPos = pObj->RetPosition(0);
- dist = Length(oPos, m_shieldPos);
+ dist = Math::Distance(oPos, m_shieldPos);
if ( dist <= RetRadius()+10.0f )
{
shield = pObj->RetShield();
diff --git a/src/object/task/taskshield.h b/src/object/task/taskshield.h
index 916cd6d..0e36e49 100644
--- a/src/object/task/taskshield.h
+++ b/src/object/task/taskshield.h
@@ -68,7 +68,7 @@ public:
protected:
Error Stop();
- bool CreateLight(D3DVECTOR pos);
+ bool CreateLight(Math::Vector pos);
void IncreaseShield();
float RetRadius();
@@ -83,7 +83,7 @@ protected:
float m_lastIncrease;
float m_energyUsed;
bool m_bError;
- D3DVECTOR m_shieldPos;
+ Math::Vector m_shieldPos;
int m_rankSphere;
int m_soundChannel;
int m_effectLight;
diff --git a/src/object/task/tasktake.cpp b/src/object/task/tasktake.cpp
index adb6e71..7817b90 100644
--- a/src/object/task/tasktake.cpp
+++ b/src/object/task/tasktake.cpp
@@ -87,7 +87,7 @@ bool CTaskTake::EventProcess(const Event &event)
m_progress += event.rTime*m_speed; // others advance
- m_physics->SetMotorSpeed(D3DVECTOR(0.0f, 0.0f, 0.0f)); // immobile!
+ m_physics->SetMotorSpeed(Math::Vector(0.0f, 0.0f, 0.0f)); // immobile!
return true;
}
@@ -100,7 +100,7 @@ Error CTaskTake::Start()
ObjectType type;
CObject* other;
float iAngle, oAngle, h;
- D3DVECTOR pos;
+ Math::Vector pos;
m_height = 0.0f;
m_step = 0;
@@ -123,7 +123,7 @@ Error CTaskTake::Start()
if ( type != OBJECT_HUMAN &&
type != OBJECT_TECH ) return ERR_MANIP_VEH;
- m_physics->SetMotorSpeed(D3DVECTOR(0.0f, 0.0f, 0.0f));
+ m_physics->SetMotorSpeed(Math::Vector(0.0f, 0.0f, 0.0f));
if ( m_object->RetFret() == 0 )
{
@@ -186,7 +186,7 @@ Error CTaskTake::Start()
}
else
{
- if ( !IsFreeDeposeObject(D3DVECTOR(2.5f, 0.0f, 0.0f)) ) return ERR_MANIP_OCC;
+ if ( !IsFreeDeposeObject(Math::Vector(2.5f, 0.0f, 0.0f)) ) return ERR_MANIP_OCC;
//? m_camera->StartCentering(m_object, Math::PI*0.3f, 99.9f, 0.0f, 0.8f);
m_arm = TTA_FFRONT;
}
@@ -313,7 +313,7 @@ CObject* CTaskTake::SearchTakeObject(float &angle,
float dLimit, float aLimit)
{
CObject *pObj, *pBest;
- D3DVECTOR iPos, oPos;
+ Math::Vector iPos, oPos;
ObjectType type;
float min, iAngle, bAngle, a, distance;
int i;
@@ -351,7 +351,7 @@ CObject* CTaskTake::SearchTakeObject(float &angle,
if ( pObj->RetZoomY(0) != 1.0f ) continue;
oPos = pObj->RetPosition(0);
- distance = Length(oPos, iPos);
+ distance = Math::Distance(oPos, iPos);
if ( distance >= 4.0f-dLimit &&
distance <= 4.0f+dLimit )
{
@@ -381,8 +381,8 @@ CObject* CTaskTake::SearchFriendObject(float &angle,
Character* character;
CObject* pObj;
CObject* pPower;
- D3DMATRIX* mat;
- D3DVECTOR iPos, oPos;
+ Math::Matrix* mat;
+ Math::Vector iPos, oPos;
ObjectType type, powerType;
float iAngle, iRad, distance;
int i;
@@ -446,7 +446,7 @@ CObject* CTaskTake::SearchFriendObject(float &angle,
character = pObj->RetCharacter();
oPos = Transform(*mat, character->posPower);
- distance = fabs(Length(oPos, iPos) - (iRad+1.0f));
+ distance = fabs(Math::Distance(oPos, iPos) - (iRad+1.0f));
if ( distance <= dLimit )
{
angle = Math::RotateAngle(oPos.x-iPos.x, iPos.z-oPos.z); // CW !
@@ -468,7 +468,7 @@ bool CTaskTake::TruckTakeObject()
{
CObject* fret;
CObject* other;
- D3DMATRIX matRotate;
+ Math::Matrix matRotate;
float angle;
if ( m_arm == TTA_FFRONT ) // takes on the ground in front?
@@ -481,8 +481,8 @@ bool CTaskTake::TruckTakeObject()
fret->SetTruck(m_object);
fret->SetTruckPart(4); // takes with the hand
-//? fret->SetPosition(0, D3DVECTOR(2.2f, -1.0f, 1.1f));
- fret->SetPosition(0, D3DVECTOR(1.7f, -0.5f, 1.1f));
+//? fret->SetPosition(0, Math::Vector(2.2f, -1.0f, 1.1f));
+ fret->SetPosition(0, Math::Vector(1.7f, -0.5f, 1.1f));
fret->SetAngleY(0, 0.1f);
fret->SetAngleX(0, 0.0f);
fret->SetAngleZ(0, 0.8f);
@@ -503,8 +503,8 @@ bool CTaskTake::TruckTakeObject()
fret->SetTruck(m_object);
fret->SetTruckPart(4); // takes with the hand
-//? fret->SetPosition(0, D3DVECTOR(2.2f, -1.0f, 1.1f));
- fret->SetPosition(0, D3DVECTOR(1.7f, -0.5f, 1.1f));
+//? fret->SetPosition(0, Math::Vector(2.2f, -1.0f, 1.1f));
+ fret->SetPosition(0, Math::Vector(1.7f, -0.5f, 1.1f));
fret->SetAngleY(0, 0.1f);
fret->SetAngleX(0, 0.0f);
fret->SetAngleZ(0, 0.8f);
@@ -522,8 +522,8 @@ bool CTaskTake::TruckDeposeObject()
Character* character;
CObject* fret;
CObject* other;
- D3DMATRIX* mat;
- D3DVECTOR pos;
+ Math::Matrix* mat;
+ Math::Vector pos;
float angle;
if ( m_arm == TTA_FFRONT ) // deposes on the ground in front?
@@ -533,7 +533,7 @@ bool CTaskTake::TruckDeposeObject()
m_fretType = fret->RetType();
mat = fret->RetWorldMatrix(0);
- pos = Transform(*mat, D3DVECTOR(-0.5f, 1.0f, 0.0f));
+ pos = Transform(*mat, Math::Vector(-0.5f, 1.0f, 0.0f));
m_terrain->MoveOnFloor(pos);
fret->SetPosition(0, pos);
fret->SetAngleY(0, m_object->RetAngleY(0)+Math::PI/2.0f);
@@ -575,11 +575,11 @@ bool CTaskTake::TruckDeposeObject()
// Seeks if a location allows to deposit an object.
-bool CTaskTake::IsFreeDeposeObject(D3DVECTOR pos)
+bool CTaskTake::IsFreeDeposeObject(Math::Vector pos)
{
CObject* pObj;
- D3DMATRIX* mat;
- D3DVECTOR iPos, oPos;
+ Math::Matrix* mat;
+ Math::Vector iPos, oPos;
float oRadius;
int i, j;
@@ -598,7 +598,7 @@ bool CTaskTake::IsFreeDeposeObject(D3DVECTOR pos)
j = 0;
while ( pObj->GetCrashSphere(j++, oPos, oRadius) )
{
- if ( Length(iPos, oPos)-(oRadius+1.0f) < 1.0f )
+ if ( Math::Distance(iPos, oPos)-(oRadius+1.0f) < 1.0f )
{
return false; // location occupied
}
diff --git a/src/object/task/tasktake.h b/src/object/task/tasktake.h
index 68d2c8e..b9dc053 100644
--- a/src/object/task/tasktake.h
+++ b/src/object/task/tasktake.h
@@ -63,7 +63,7 @@ protected:
CObject* SearchFriendObject(float &angle, float dLimit, float aLimit);
bool TruckTakeObject();
bool TruckDeposeObject();
- bool IsFreeDeposeObject(D3DVECTOR pos);
+ bool IsFreeDeposeObject(Math::Vector pos);
protected:
CTerrain* m_terrain;
diff --git a/src/object/task/taskterraform.cpp b/src/object/task/taskterraform.cpp
index efa251f..5d06956 100644
--- a/src/object/task/taskterraform.cpp
+++ b/src/object/task/taskterraform.cpp
@@ -22,6 +22,7 @@
#include <d3d.h>
#include "common/struct.h"
+#include "math/geometry.h"
#include "common/language.h"
#include "math/old/math3d.h"
#include "common/event.h"
@@ -68,8 +69,8 @@ CTaskTerraform::~CTaskTerraform()
bool CTaskTerraform::EventProcess(const Event &event)
{
CObject* power;
- D3DMATRIX* mat;
- D3DVECTOR pos, dir, speed;
+ Math::Matrix* mat;
+ Math::Vector pos, dir, speed;
Math::Point dim;
float energy;
@@ -157,10 +158,10 @@ bool CTaskTerraform::EventProcess(const Event &event)
if ( m_phase == TTP_CHARGE )
{
// Battery.
- pos = D3DVECTOR(-6.0f, 5.5f+2.0f*m_progress, 0.0f);
+ pos = Math::Vector(-6.0f, 5.5f+2.0f*m_progress, 0.0f);
pos.x += (Math::Rand()-0.5f)*1.0f;
pos.z += (Math::Rand()-0.5f)*1.0f;
- pos = Transform(*mat, pos);
+ pos = Math::Transform(*mat, pos);
speed.x = (Math::Rand()-0.5f)*6.0f*(1.0f+m_progress*4.0f);
speed.z = (Math::Rand()-0.5f)*6.0f*(1.0f+m_progress*4.0f);
speed.y = 6.0f+Math::Rand()*4.0f*(1.0f+m_progress*2.0f);
@@ -172,28 +173,28 @@ bool CTaskTerraform::EventProcess(const Event &event)
if ( m_phase != TTP_CHARGE )
{
// Left grid.
- pos = D3DVECTOR(-1.0f, 5.8f, 3.5f);
+ pos = Math::Vector(-1.0f, 5.8f, 3.5f);
pos.x += (Math::Rand()-0.5f)*1.0f;
pos.z += (Math::Rand()-0.5f)*1.0f;
- pos = Transform(*mat, pos);
+ pos = Math::Transform(*mat, pos);
speed.x = Math::Rand()*4.0f;
speed.z = Math::Rand()*2.0f;
speed.y = 2.5f+Math::Rand()*1.0f;
- speed = Transform(*mat, speed);
+ speed = Math::Transform(*mat, speed);
speed -= m_object->RetPosition(0);
dim.x = Math::Rand()*1.0f+1.0f;
dim.y = dim.x;
m_particule->CreateParticule(pos, speed, dim, PARTISMOKE1, 3.0f);
// Right grid.
- pos = D3DVECTOR(-1.0f, 5.8f, -3.5f);
+ pos = Math::Vector(-1.0f, 5.8f, -3.5f);
pos.x += (Math::Rand()-0.5f)*1.0f;
pos.z += (Math::Rand()-0.5f)*1.0f;
- pos = Transform(*mat, pos);
+ pos = Math::Transform(*mat, pos);
speed.x = Math::Rand()*4.0f;
speed.z = -Math::Rand()*2.0f;
speed.y = 2.5f+Math::Rand()*1.0f;
- speed = Transform(*mat, speed);
+ speed = Math::Transform(*mat, speed);
speed -= m_object->RetPosition(0);
dim.x = Math::Rand()*1.0f+1.0f;
dim.y = dim.x;
@@ -210,8 +211,8 @@ bool CTaskTerraform::EventProcess(const Event &event)
Error CTaskTerraform::Start()
{
CObject* power;
- D3DMATRIX* mat;
- D3DVECTOR pos, speed;
+ Math::Matrix* mat;
+ Math::Vector pos, speed;
float energy;
ObjectType type;
@@ -232,8 +233,8 @@ Error CTaskTerraform::Start()
speed.z != 0.0f ) return ERR_MANIP_MOTOR;
mat = m_object->RetWorldMatrix(0);
- pos = D3DVECTOR(9.0f, 0.0f, 0.0f);
- pos = Transform(*mat, pos); // battery position
+ pos = Math::Vector(9.0f, 0.0f, 0.0f);
+ pos = Math::Transform(*mat, pos); // battery position
m_terraPos = pos;
m_phase = TTP_CHARGE;
@@ -256,7 +257,7 @@ Error CTaskTerraform::Start()
Error CTaskTerraform::IsEnded()
{
CObject* power;
- D3DVECTOR pos, speed;
+ Math::Vector pos, speed;
Math::Point dim;
float dist, duration;
int i, max;
@@ -284,7 +285,7 @@ Error CTaskTerraform::IsEnded()
Terraform(); // changes the terrain.
#endif
- m_object->SetCirVibration(D3DVECTOR(0.0f, 0.0f, 0.0f));
+ m_object->SetCirVibration(Math::Vector(0.0f, 0.0f, 0.0f));
m_object->SetZoom(0, 1.0f);
power = m_object->RetPower();
@@ -300,8 +301,8 @@ Error CTaskTerraform::IsEnded()
pos.z = m_terraPos.z+(Math::Rand()-0.5f)*80.0f;
pos.y = m_terraPos.y;
m_terrain->MoveOnFloor(pos);
- dist = Length(pos, m_terraPos);
- speed = D3DVECTOR(0.0f, 0.0f, 0.0f);
+ dist = Math::Distance(pos, m_terraPos);
+ speed = Math::Vector(0.0f, 0.0f, 0.0f);
dim.x = 2.0f+(40.0f-dist)/(1.0f+Math::Rand()*4.0f);
dim.y = dim.x;
m_particule->CreateParticule(pos, speed, dim, PARTICRASH, 2.0f);
@@ -348,9 +349,9 @@ bool CTaskTerraform::Abort()
m_soundChannel = -1;
}
- m_object->SetPosition(2, D3DVECTOR(9.0f, 4.0f, 0.0f));
- m_object->SetInclinaison(D3DVECTOR(0.0f, 0.0f, 0.0f));
- m_object->SetCirVibration(D3DVECTOR(0.0f, 0.0f, 0.0f));
+ m_object->SetPosition(2, Math::Vector(9.0f, 4.0f, 0.0f));
+ m_object->SetInclinaison(Math::Vector(0.0f, 0.0f, 0.0f));
+ m_object->SetCirVibration(Math::Vector(0.0f, 0.0f, 0.0f));
m_object->SetZoom(0, 1.0f);
power = m_object->RetPower();
@@ -390,7 +391,7 @@ bool CTaskTerraform::Terraform()
if ( type == OBJECT_TEEN34 ) // stone?
{
- dist = Length(m_terraPos, pObj->RetPosition(0));
+ dist = Math::Distance(m_terraPos, pObj->RetPosition(0));
if ( dist > 20.0f ) continue;
pyro = new CPyro(m_iMan);
@@ -401,7 +402,7 @@ bool CTaskTerraform::Terraform()
motion = pObj->RetMotion();
if ( motion == 0 ) continue;
- dist = Length(m_terraPos, pObj->RetPosition(0));
+ dist = Math::Distance(m_terraPos, pObj->RetPosition(0));
if ( dist > ACTION_RADIUS ) continue;
if ( type == OBJECT_ANT )
diff --git a/src/object/task/taskterraform.h b/src/object/task/taskterraform.h
index 7d5ef30..c3ab957 100644
--- a/src/object/task/taskterraform.h
+++ b/src/object/task/taskterraform.h
@@ -64,6 +64,6 @@ protected:
float m_lastParticule;
int m_soundChannel;
bool m_bError;
- D3DVECTOR m_terraPos;
+ Math::Vector m_terraPos;
};