summaryrefslogtreecommitdiffstats
path: root/src/tasktake.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tasktake.cpp')
-rw-r--r--src/tasktake.cpp72
1 files changed, 43 insertions, 29 deletions
diff --git a/src/tasktake.cpp b/src/tasktake.cpp
index a979a3e..339a749 100644
--- a/src/tasktake.cpp
+++ b/src/tasktake.cpp
@@ -1,4 +1,18 @@
-// tasktake.cpp
+// * 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 .
#define STRICT
#define D3D_OVERLOADS
@@ -49,7 +63,7 @@ CTaskTake::~CTaskTake()
}
-// Gestion d'un événement.
+// Gestion d'un �v�nement.
BOOL CTaskTake::EventProcess(const Event &event)
{
@@ -59,7 +73,7 @@ BOOL CTaskTake::EventProcess(const Event &event)
if ( event.event != EVENT_FRAME ) return TRUE;
if ( m_bError ) return FALSE;
- if ( m_bTurn ) // rotation préliminaire ?
+ if ( m_bTurn ) // rotation pr�liminaire ?
{
a = m_object->RetAngleY(0);
g = m_angle;
@@ -67,11 +81,11 @@ BOOL CTaskTake::EventProcess(const Event &event)
if ( cirSpeed > 1.0f ) cirSpeed = 1.0f;
if ( cirSpeed < -1.0f ) cirSpeed = -1.0f;
- m_physics->SetMotorSpeedZ(cirSpeed); // tourne à gauche/droite
+ m_physics->SetMotorSpeedZ(cirSpeed); // tourne � gauche/droite
return TRUE;
}
- m_progress += event.rTime*m_speed; // ça avance
+ m_progress += event.rTime*m_speed; // �a avance
m_physics->SetMotorSpeed(D3DVECTOR(0.0f, 0.0f, 0.0f)); // immobile !
@@ -79,7 +93,7 @@ BOOL CTaskTake::EventProcess(const Event &event)
}
-// Assigne le but à atteindre.
+// Assigne le but � atteindre.
Error CTaskTake::Start()
{
@@ -96,7 +110,7 @@ Error CTaskTake::Start()
iAngle = NormAngle(iAngle); // 0..2*PI
oAngle = iAngle;
- m_bError = TRUE; // opération impossible
+ m_bError = TRUE; // op�ration impossible
if ( !m_physics->RetLand() )
{
pos = m_object->RetPosition(0);
@@ -178,8 +192,8 @@ Error CTaskTake::Start()
}
}
- m_bTurn = TRUE; // rotation préliminaire nécessaire
- m_angle = oAngle; // angle à atteindre
+ m_bTurn = TRUE; // rotation pr�liminaire n�cessaire
+ m_angle = oAngle; // angle � atteindre
m_physics->SetFreeze(TRUE); // on ne bouge plus
@@ -187,7 +201,7 @@ Error CTaskTake::Start()
return ERR_OK;
}
-// Indique si l'action est terminée.
+// Indique si l'action est termin�e.
Error CTaskTake::IsEnded()
{
@@ -197,14 +211,14 @@ Error CTaskTake::IsEnded()
if ( m_engine->RetPause() ) return ERR_CONTINUE;
if ( m_bError ) return ERR_STOP;
- if ( m_bTurn ) // rotation préliminaire ?
+ if ( m_bTurn ) // rotation pr�liminaire ?
{
angle = m_object->RetAngleY(0);
angle = NormAngle(angle); // 0..2*PI
if ( TestAngle(angle, m_angle-PI*0.01f, m_angle+PI*0.01f) )
{
- m_bTurn = FALSE; // rotation terminée
+ m_bTurn = FALSE; // rotation termin�e
m_physics->SetMotorSpeedZ(0.0f);
if ( m_arm == TTA_FFRONT )
@@ -246,7 +260,7 @@ Error CTaskTake::IsEnded()
m_sound->Play(SOUND_POWEROFF, m_object->RetPosition(0));
}
}
- m_motion->SetAction(MHS_UPRIGHT, 0.4f); // se relève
+ m_motion->SetAction(MHS_UPRIGHT, 0.4f); // se rel�ve
m_progress = 0.0f;
m_speed = 1.0f/0.8f;
m_camera->StopCentering(m_object, 0.8f);
@@ -270,7 +284,7 @@ Error CTaskTake::IsEnded()
{
m_main->ShowDropZone(fret, m_object); // montre zone constructible
}
- m_motion->SetAction(-1); // se relève
+ m_motion->SetAction(-1); // se rel�ve
m_progress = 0.0f;
m_speed = 1.0f/0.4f;
m_camera->StopCentering(m_object, 0.8f);
@@ -293,7 +307,7 @@ BOOL CTaskTake::Abort()
}
-// Cherche l'objet à prendre devant.
+// Cherche l'objet � prendre devant.
CObject* CTaskTake::SearchTakeObject(float &angle,
float dLimit, float aLimit)
@@ -332,7 +346,7 @@ CObject* CTaskTake::SearchTakeObject(float &angle,
type != OBJECT_KEYd &&
type != OBJECT_TNT ) continue;
- if ( pObj->RetTruck() != 0 ) continue; // objet transporté ?
+ if ( pObj->RetTruck() != 0 ) continue; // objet transport� ?
if ( pObj->RetLock() ) continue;
if ( pObj->RetZoomY(0) != 1.0f ) continue;
@@ -382,7 +396,7 @@ CObject* CTaskTake::SearchFriendObject(float &angle,
pObj = (CObject*)m_iMan->SearchInstance(CLASS_OBJECT, i);
if ( pObj == 0 ) break;
- if ( pObj == m_object ) continue; // soi-même ?
+ if ( pObj == m_object ) continue; // soi-m�me ?
type = pObj->RetType();
if ( type != OBJECT_MOBILEfa &&
@@ -448,7 +462,7 @@ CObject* CTaskTake::SearchFriendObject(float &angle,
return 0;
}
-// Prend l'objet placé devant.
+// Prend l'objet plac� devant.
BOOL CTaskTake::TruckTakeObject()
{
@@ -461,7 +475,7 @@ BOOL CTaskTake::TruckTakeObject()
{
//? fret = SearchTakeObject(angle, 1.5f, PI*0.04f);
fret = SearchTakeObject(angle, 1.5f, PI*0.15f); //OK 1.9
- if ( fret == 0 ) return FALSE; // rien à prendre ?
+ if ( fret == 0 ) return FALSE; // rien � prendre ?
m_fretType = fret->RetType();
fret->SetTruck(m_object);
@@ -501,7 +515,7 @@ BOOL CTaskTake::TruckTakeObject()
return TRUE;
}
-// Dépose l'objet pris.
+// D�pose l'objet pris.
BOOL CTaskTake::TruckDeposeObject()
{
@@ -512,7 +526,7 @@ BOOL CTaskTake::TruckDeposeObject()
D3DVECTOR pos;
float angle;
- if ( m_arm == TTA_FFRONT ) // dépose au sol devant ?
+ if ( m_arm == TTA_FFRONT ) // d�pose au sol devant ?
{
fret = m_object->RetFret();
if ( fret == 0 ) return FALSE; // ne porte rien ?
@@ -528,16 +542,16 @@ BOOL CTaskTake::TruckDeposeObject()
fret->FloorAdjust(); // plaque bien au sol
fret->SetTruck(0);
- m_object->SetFret(0); // dépose
+ m_object->SetFret(0); // d�pose
}
- if ( m_arm == TTA_FRIEND ) // dépose pile sur amis ?
+ if ( m_arm == TTA_FRIEND ) // d�pose pile sur amis ?
{
other = SearchFriendObject(angle, 1.5f, PI*0.04f);
if ( other == 0 ) return FALSE;
fret = other->RetPower();
- if ( fret != 0 ) return FALSE; // l'autre a déjà une pile ?
+ if ( fret != 0 ) return FALSE; // l'autre a d�j� une pile ?
fret = m_object->RetFret();
if ( fret == 0 ) return FALSE;
@@ -551,15 +565,15 @@ BOOL CTaskTake::TruckDeposeObject()
fret->SetAngleY(0, 0.0f);
fret->SetAngleX(0, 0.0f);
fret->SetAngleZ(0, 0.0f);
- fret->SetTruckPart(0); // porté par la base
+ fret->SetTruckPart(0); // port� par la base
- m_object->SetFret(0); // dépose
+ m_object->SetFret(0); // d�pose
}
return TRUE;
}
-// Cherche si un emplacement permet de déposer un objet.
+// Cherche si un emplacement permet de d�poser un objet.
BOOL CTaskTake::IsFreeDeposeObject(D3DVECTOR pos)
{
@@ -579,14 +593,14 @@ BOOL CTaskTake::IsFreeDeposeObject(D3DVECTOR pos)
if ( pObj == m_object ) continue;
if ( !pObj->RetActif() ) continue; // inactif ?
- if ( pObj->RetTruck() != 0 ) continue; // objet transporté ?
+ if ( pObj->RetTruck() != 0 ) continue; // objet transport� ?
j = 0;
while ( pObj->GetCrashSphere(j++, oPos, oRadius) )
{
if ( Length(iPos, oPos)-(oRadius+1.0f) < 1.0f )
{
- return FALSE; // emplacement occupé
+ return FALSE; // emplacement occup�
}
}
}