Pārlūkot izejas kodu

more cleanups and standardizations

AzaezelX 5 mēneši atpakaļ
vecāks
revīzija
c1d32a9fd6
1 mainītis faili ar 13 papildinājumiem un 17 dzēšanām
  1. 13 17
      Engine/source/T3D/AI/AIController.cpp

+ 13 - 17
Engine/source/T3D/AI/AIController.cpp

@@ -669,16 +669,17 @@ void AIWheeledVehicleControllerData::resolveYaw(AIController* obj, Point3F locat
    right.normalize();
    Point3F aimLoc = obj->mMovement.mAimLocation;
 
-   // Get the Target to AI vector and normalize it.
-   Point3F toTarg = aimLoc - location;
+   // Get the AI to Target vector and normalize it.
+   Point3F toTarg = location - aimLoc;
    toTarg.normalize();
 
-   F32 dotYaw = mDot(right, toTarg);
+   F32 dotYaw = -mDot(right, toTarg);
    movePtr->yaw = -lastYaw;
 
    VehicleData* vd = (VehicleData*)(wvo->getDataBlock());
    F32 maxSteeringAngle = vd->maxSteeringAngle;
-   if (mFabs(dotYaw) > maxSteeringAngle * 1.5 && wvo->getThrottle() < 0.0f)
+
+   if (mFabs(dotYaw) > maxSteeringAngle*1.5f)
       dotYaw *= -1.0f;
 
    if (dotYaw > maxSteeringAngle) dotYaw = maxSteeringAngle;
@@ -745,10 +746,10 @@ void AIFlyingVehicleControllerData::resolveYaw(AIController* obj, Point3F locati
    Point3F aimLoc = obj->mMovement.mAimLocation;
 
    // Get the Target to AI vector and normalize it.
-   Point3F toTarg = aimLoc - location;
+   Point3F toTarg = location - aimLoc;
    toTarg.normalize();
 
-   F32 dotYaw = mDot(right, toTarg);
+   F32 dotYaw = -mDot(right, toTarg);
    movePtr->yaw = 0;
 
    if (mFabs(dotYaw) > 0.05f)
@@ -772,19 +773,14 @@ void AIFlyingVehicleControllerData::resolvePitch(AIController* obj, Point3F loca
    Point3F aimLoc = obj->mMovement.mAimLocation;
    aimLoc.z = mClampF(aimLoc.z, mFlightFloor, mFlightCeiling);
 
-   // Get the AI  to Target vector and normalize it.
-   Point3F toTarg = location-aimLoc;
+   // Get the Target to AI vector and normalize it.
+   Point3F toTarg = location - aimLoc;
    toTarg.normalize();
-
+   F32 lastPitch = fvo->getSteering().y;
    movePtr->pitch = 0.0f;
-   Point3F forward = fvo->getTransform().getForwardVector();
-   if (mDot(forward, toTarg)>0.0f)
-   {
-      F32 dotPitch = mDot(up, toTarg);
-
-      if (mFabs(dotPitch) > 0.05f)
-         movePtr->pitch = dotPitch;
-   }
+   F32 dotPitch = -mDot(up, toTarg);
+   if (mFabs(dotPitch) > 0.05f)
+         movePtr->pitch = dotPitch - lastPitch;
          
 }