How to write a C Program Doom ACS distance in C Programming Language ?

How to write a C Program Doom ACS distance in C Programming Language ?


Solution:

  1. function int abs(int input)
  2.   {
  3.     if (input < 0) { return -input; }
  4.     return input;
  5.   }
  6.  
  7.   function int fdistance(int tid1, int tid2)
  8.   {
  9.     int len;
  10.     int y = getactory(tid1) - getactory(tid2);
  11.     int x = getactorx(tid1) - getactorx(tid2);
  12.     int z = getactorz(tid1) - getactorz(tid2);
  13.  
  14.     int ang = vectorangle(x,y);
  15.     if (((ang+0.125)%0.5) > 0.25) len = fixeddiv(y, sin(ang));
  16.     else len = fixeddiv(x, cos(ang));
  17.  
  18.     ang = vectorangle(len, z);
  19.     if (((ang+0.125)%0.5) > 0.25) len = fixeddiv(z, sin(ang));
  20.     else len = fixeddiv(len, cos(ang));
  21.  
  22.     return len;
  23.   }
  24.  
  25.  
  26. // distance between player and monster tid.
  27. int owner_dist = fdistance(0, mtid) >> 16;


Learn More :