Update of /cvsroot/epfl/tgengine-0.1
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19775
Modified Files:
physicengine.cc q3bsp.cc q3bsp.h
Log Message:
Quelques ajouts pour l'IA (méthode FindCluster)
Index: physicengine.cc
===================================================================
RCS file: /cvsroot/epfl/tgengine-0.1/physicengine.cc,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** physicengine.cc 10 Oct 2004 20:49:09 -0000 1.8
--- physicengine.cc 10 Oct 2004 21:11:55 -0000 1.9
***************
*** 89,93 ****
//Vector3 origin = n->GetPosition();
//on ajoute la gravite
! if (!n->bOnGround)
n->vAccel.y -= (*fGravity);
else if (n->vAccel.y < 0) //si l'objet touche le sol, il faut ramener la gravité à zéro, sinon, l'objet va se retrouver avec une gravité négative très grande (ça l'empeche de sauter notamment)
--- 89,93 ----
//Vector3 origin = n->GetPosition();
//on ajoute la gravite
! if (!n->bOnGround && !n->bNoClip)
n->vAccel.y -= (*fGravity);
else if (n->vAccel.y < 0) //si l'objet touche le sol, il faut ramener la gravité à zéro, sinon, l'objet va se retrouver avec une gravité négative très grande (ça l'empeche de sauter notamment)
Index: q3bsp.cc
===================================================================
RCS file: /cvsroot/epfl/tgengine-0.1/q3bsp.cc,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** q3bsp.cc 27 Sep 2004 16:31:35 -0000 1.5
--- q3bsp.cc 10 Oct 2004 21:11:55 -0000 1.6
***************
*** 768,772 ****
{
int index = 0;
! // Les nodes ont des index > 0
// Les leafs ont des index négatifs. Pour obtenir l'index dans le tableau pLeafs, on fait index_tableau = -index_node - 1 ;
while (index >= 0)
--- 768,772 ----
{
int index = 0;
! // Les nodes ont des index >= 0
// Les leafs ont des index négatifs. Pour obtenir l'index dans le tableau pLeafs, on fait index_tableau = -index_node - 1 ;
while (index >= 0)
***************
*** 1004,1008 ****
int iCamLeaf = FindLeaf(pCamera->vPosition);
int iCamCluster = pLeafs[iCamLeaf].cluster;
-
for (int i=0; i<numOfLeafs; i++)
{
--- 1004,1007 ----
Index: q3bsp.h
===================================================================
RCS file: /cvsroot/epfl/tgengine-0.1/q3bsp.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** q3bsp.h 26 Sep 2004 13:15:25 -0000 1.1.1.1
--- q3bsp.h 10 Oct 2004 21:11:55 -0000 1.2
***************
*** 439,442 ****
--- 439,450 ----
*/
int FindLeaf (const Vector3& pos);
+
+ /**
+ * FindCluster
+ * Retourne le cluster d'une position, utile parce que lorsque l'on est en-dehors de la map, le cluster est égal a -1 !!
+ * @param pos le point dont on veut le cluster
+ * @return le numero du cluster
+ */
+ inline int FindCluster (const Vector3& pos) { return pLeafs[FindLeaf(pos)].cluster; }
/**
|