|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ T u ┃
Length: 1713 (0x6b1) Types: TextFile Names: »util.c«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki └─ ⟦526ad3590⟧ »EUUGD11/gnu-31mar87/X.V10.R4.tar.Z« └─⟦2109abc41⟧ └─ ⟦this⟧ »./X.V10R4/xtrek/util.c«
#ifndef lint static char *rcsid_util_c = "$Header: util.c,v 10.1 86/11/30 15:29:28 jg Rel $"; #endif lint /* Copyright (c) 1986 Chris Guthrie */ #include <X/Xlib.h> #include <stdio.h> #include <math.h> #include <signal.h> #include "defs.h" #include "struct.h" #include "data.h" angdist(x, y) { register int res; res = ABS(x - y); if (res > 128) res = 256 - res; return(res); } #define WINSIDE 500 /* Find the object nearest mouse. Returns a pointer to an obtype structure. This is used for info and locking on */ /* Because we are never interested in it, this function will never return your own ship as the target. */ extern Window mapw, w; struct obtype _target; struct obtype * gettarget(ww, x, y) Window ww; int x, y; { register int i; register struct player *j; register struct planet *k; int g_x, g_y; double dist, closedist; if (ww == mapw) { g_x = x * GWIDTH / WINSIDE; g_y = y * GWIDTH / WINSIDE; } else { g_x = me->p_x + ((x - WINSIDE/2) * SCALE); g_y = me->p_y + ((y - WINSIDE/2) * SCALE); } closedist = GWIDTH; for (i = 0, k = &planets[i]; i < MAXPLANETS; i++, k++) { dist = hypot((double) (g_x - k->pl_x), (double) (g_y - k->pl_y)); if (dist < closedist) { _target.o_type = PLANETTYPE; _target.o_num = i; closedist = dist; } } for (i = 0, j = &players[i]; i < MAXPLAYER; i++, j++) { if ((j->p_status != PALIVE) || (j->p_flags & PFCLOAK)) continue; if (j == me) continue; dist = hypot((double) (g_x - j->p_x), (double) (g_y - j->p_y)); if (dist < closedist) { _target.o_type = PLAYERTYPE; _target.o_num = i; closedist = dist; } } return(&_target); }