|
From: Yohann C. <pl...@us...> - 2004-12-08 13:19:50
|
Update of /cvsroot/epfl/tggame In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14041 Modified Files: Makefile.Linux aicontroller.cc Log Message: Cf wiki Index: Makefile.Linux =================================================================== RCS file: /cvsroot/epfl/tggame/Makefile.Linux,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Makefile.Linux 1 Dec 2004 18:56:48 -0000 1.8 --- Makefile.Linux 8 Dec 2004 13:19:40 -0000 1.9 *************** *** 1,4 **** # TG Makefile ! CFLAGS = -O3 -DTGLINUX INCLUDEPATH = -I/usr/include/SDL -I./ -I../tgengine-0.1 LINKPATH = -L../tgengine-0.1/out --- 1,4 ---- # TG Makefile ! CFLAGS = -O3 -DTGLINUX -DDEBUG -pg INCLUDEPATH = -I/usr/include/SDL -I./ -I../tgengine-0.1 LINKPATH = -L../tgengine-0.1/out *************** *** 13,17 **** all: $(OBJS) ! g++ -o tg $(INCLUDEPATH) $(LINKPATH) $(LIBS) $(OBJS) clean: --- 13,17 ---- all: $(OBJS) ! g++ -pg -o tg $(INCLUDEPATH) $(LINKPATH) $(LIBS) $(OBJS) clean: Index: aicontroller.cc =================================================================== RCS file: /cvsroot/epfl/tggame/aicontroller.cc,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** aicontroller.cc 6 Dec 2004 19:13:06 -0000 1.22 --- aicontroller.cc 8 Dec 2004 13:19:40 -0000 1.23 *************** *** 1,3 **** ! #define AI_DEBUG 0 #include "aicontroller.h" --- 1,3 ---- ! #define AI_DEBUG 4 #include "aicontroller.h" *************** *** 12,15 **** --- 12,22 ---- bool initialised = false; int rot=0; + int iAngle = 5; + + int iState=0; + enum {WALK, TURN}; + + int iZOffset=0; + int iYOffset=0; int AIController::FORWARD = 3; *************** *** 59,62 **** --- 66,70 ---- } + void AIController::HitWall(const Vector3& vPoint, const Vector3& vNormal, PhysicNode* who) { *************** *** 98,102 **** { Vector3 vTarget = pPawn->GetRotation().GetXAxis();; ! Vector3 vPosition = pPawn->GetPosition()+Vector3(0, 0, 4); float fMoveSpeed = pPawn->GetMoveSpeed(); --- 106,110 ---- { Vector3 vTarget = pPawn->GetRotation().GetXAxis();; ! Vector3 vPosition = pPawn->GetPosition()+Vector3(0, iYOffset, 0); float fMoveSpeed = pPawn->GetMoveSpeed(); *************** *** 112,127 **** } // puis on tourne... (a revoir... en fonction de l'angle de c.Normal et le vecteur vitesse) ! pPawn->SetRotation(Quaternion(rot+=5, Vector3::UNIT_Y)); ! #if AI_DEBUG >= 4 ! cout << "Changement de direction... "<< c.Fraction << std::endl; #endif } else { // sinon, on va augmenter la vitesse (pas de vitesse limite dans le moteur pour le moment // a priori, donc je limite moi-meme.... if(fMoveSpeed < 448) { ! #if AI_DEBUG >= 4 cout << "augmentation de la vitesse" << std::endl; #endif ! pPawn->SetMoveSpeed(fMoveSpeed+2); } } --- 120,161 ---- } // puis on tourne... (a revoir... en fonction de l'angle de c.Normal et le vecteur vitesse) ! if(iState != TURN) { ! #if AI_DEBUG >= 4 ! cout << "Start turn" << std::endl; ! #endif ! iState = TURN; ! if((c.Normal % pPawn->GetVelocity().Normalize()).y < 0) { ! // iAngle=abs(iAngle); ! iAngle=5; ! #if AI_DEBUG >= 5 ! cout << " iAngle positif..." << std::endl; ! #endif ! } else { ! #if AI_DEBUG >= 5 ! cout << " iAngle negatif..." << std::endl; ! #endif ! iAngle=-5; ! } ! } ! ! pPawn->SetRotation(Quaternion(rot+=iAngle, Vector3::UNIT_Y)); ! #if AI_DEBUG >= 5 ! cout << "Changement de direction... " << iAngle << std::endl; #endif } else { + if(iState == TURN) { + #if AI_DEBUG >= 4 + cout << "End turn" << std::endl; + #endif + iState = WALK; + } + iYOffset=(iYOffset + 5)%80; // sinon, on va augmenter la vitesse (pas de vitesse limite dans le moteur pour le moment // a priori, donc je limite moi-meme.... if(fMoveSpeed < 448) { ! #if AI_DEBUG >= 5 cout << "augmentation de la vitesse" << std::endl; #endif ! pPawn->SetMoveSpeed(fMoveSpeed+5); } } |