## GetDistance(tid)

Moderator: GZDoom Developers

Cutmanmike
Posts: 11345
Joined: Mon Oct 06, 2003 3:41 pm
Operating System Version (Optional): Windows 10
Location: United Kingdom

### GetDistance(tid)

Since you can do this in ACS anyway (with a bit more hassle) why not have this? A little low priority but there you go
Graf Zahl
Posts: 49098
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Code: Select all

``````
function int abs(int x)
{
if (x>=0) return x;
return -x;
}

function int min(int x, int y)
{
if (x<y) return x;
else return y;
}

function int AproxDistance(int dx, int dy)
{
int dx = abs(dx);
int dy = abs(dy);
return dx+dy-(min(dx,dy)>>1);
}

function void GetDistance(int tid)
{
int x=abs(GetActorX(tid)-GetActorX(activatortid()));
int y=abs(GetActorY(tid)-GetActorY(activatortid()));
int z=abs(GetActorZ(tid)-GetActorZ(activatortid()));

return AproxDistance(AproxDistance(x,y), z);
}

``````
It used the same precision Doom is using internally for distance calculations as a fixed point value.
Macil
Posts: 2529
Joined: Mon Mar 22, 2004 7:00 pm
Preferred Pronouns: He/Him
Location: California, USA. Previously known as "Agent ME".

### Re: GetDistance(tid)

cutmanmike wrote:Since you can do this in ACS anyway (with a bit more hassle) why not have this? A little low priority but there you go
What would it do? And don't you need two things to be able to tell the distance between them?
Graf Zahl