2
0
Эх сурвалжийг харах

Update VectorForceObjectStearing.c

Rudy Boudewijn van Etten 5 жил өмнө
parent
commit
13962c78b5

+ 7 - 1
RTS/VectorForceObjectStearing.c

@@ -73,11 +73,17 @@ int main(void)
         float mx=0;
         float mx=0;
         float my=0;
         float my=0;
         for(int i=0;i<MAX_VFO;i++){
         for(int i=0;i<MAX_VFO;i++){
-            if(distance(arr_unit[0].position.x,arr_unit[0].position.y,arr_vfo[i].position.x,arr_vfo[i].position.y)>120)continue;
+            float d = distance(arr_unit[0].position.x,arr_unit[0].position.y,arr_vfo[i].position.x,arr_vfo[i].position.y);
+            if(d>64)continue; //preferable distance to keep from the vfo's
             numvfo++;
             numvfo++;
             float an = getangle(arr_unit[0].position.x,arr_unit[0].position.y,arr_vfo[i].position.x,arr_vfo[i].position.y);           
             float an = getangle(arr_unit[0].position.x,arr_unit[0].position.y,arr_vfo[i].position.x,arr_vfo[i].position.y);           
             mx -= (float)cos(an);
             mx -= (float)cos(an);
             my -= (float)sin(an);
             my -= (float)sin(an);
+            if(d<32){//if closer than this stear away extra
+                mx -= (float)cos(an);
+                my -= (float)sin(an);
+                numvfo+=1;
+            }
         }
         }
         if(numvfo>0){
         if(numvfo>0){
             arr_unit[0].mx += mx/(numvfo);
             arr_unit[0].mx += mx/(numvfo);