summaryrefslogtreecommitdiffstats
path: root/hack/hack.track.c
diff options
context:
space:
mode:
authorcgd <cgd@NetBSD.org>1993-03-21 09:45:37 +0000
committercgd <cgd@NetBSD.org>1993-03-21 09:45:37 +0000
commit77e3814f0c0e3dea4d0032e25666f77e6f83bfff (patch)
tree7eddfcbf3dd12089e71dc3fafb0a106c5c5766c7 /hack/hack.track.c
parente81d63576b2e46ab90da7d75fa155ea57ee4d32e (diff)
downloadbsdgames-darwin-77e3814f0c0e3dea4d0032e25666f77e6f83bfff.tar.gz
bsdgames-darwin-77e3814f0c0e3dea4d0032e25666f77e6f83bfff.tar.zst
bsdgames-darwin-77e3814f0c0e3dea4d0032e25666f77e6f83bfff.zip
initial import of 386bsd-0.1 sources
Diffstat (limited to 'hack/hack.track.c')
-rw-r--r--hack/hack.track.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/hack/hack.track.c b/hack/hack.track.c
new file mode 100644
index 00000000..6b41c2cd
--- /dev/null
+++ b/hack/hack.track.c
@@ -0,0 +1,38 @@
+/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
+/* hack.track.c - version 1.0.2 */
+
+#include "hack.h"
+
+#define UTSZ 50
+
+coord utrack[UTSZ];
+int utcnt = 0;
+int utpnt = 0;
+
+initrack(){
+ utcnt = utpnt = 0;
+}
+
+/* add to track */
+settrack(){
+ if(utcnt < UTSZ) utcnt++;
+ if(utpnt == UTSZ) utpnt = 0;
+ utrack[utpnt].x = u.ux;
+ utrack[utpnt].y = u.uy;
+ utpnt++;
+}
+
+coord *
+gettrack(x,y) register x,y; {
+register int i,cnt,dist;
+coord tc;
+ cnt = utcnt;
+ for(i = utpnt-1; cnt--; i--){
+ if(i == -1) i = UTSZ-1;
+ tc = utrack[i];
+ dist = (x-tc.x)*(x-tc.x) + (y-tc.y)*(y-tc.y);
+ if(dist < 3)
+ return(dist ? &(utrack[i]) : 0);
+ }
+ return(0);
+}