diff interface.c @ 3:5a977ccbc7a9 default tip

Empty changelog
author darius
date Sat, 06 Dec 1997 05:41:29 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/interface.c	Sat Dec 06 05:41:29 1997 +0000
@@ -0,0 +1,122 @@
+/* $Id: interface.c,v 1.1.1.1 1997/12/06 05:41:29 darius Exp $ */
+
+/*
+ * interface.c
+ *
+ * This file will include all the interfaces between the input routines
+ *  and the daemon.  They should be useful for writing robots and the
+ *  like
+ */
+#include "copyright.h"
+
+#include <stdio.h>
+#include <math.h>
+#include <sys/types.h>
+#include <sys/time.h>
+#ifndef sgi
+#include <sys/timeb.h>
+#endif				/* sgi */
+#include <signal.h>
+#include "Wlib.h"
+#include "defs.h"
+#include "struct.h"
+#include "data.h"
+#include "packets.h"
+#include "proto.h"
+
+void
+set_speed(speed)
+    int     speed;
+{
+    /* don't repeat useless commands [BDyess] */
+    if (me->p_desspeed != speed || me->p_speed != speed)
+	sendSpeedReq(speed);
+    me->p_desspeed = speed;
+}
+
+void
+set_course(dir)
+    unsigned int dir;
+{
+    /* don't repeat commands [BDyess] */
+    if (me->p_desdir != dir || me->p_dir != dir)
+	sendDirReq(dir);
+    me->p_desdir = dir;
+}
+
+void
+shield_up()
+{
+    if (!(me->p_flags & PFSHIELD)) {
+	sendShieldReq(1);
+    }
+}
+
+void
+shield_down()
+{
+    if (me->p_flags & PFSHIELD) {
+	sendShieldReq(0);
+    }
+}
+
+void
+shield_tog()
+{
+    if (me->p_flags & PFSHIELD) {
+	sendShieldReq(0);
+    } else {
+	sendShieldReq(1);
+    }
+}
+
+void
+bomb_planet()
+{
+    if (!(me->p_flags & PFBOMB)) {
+	sendBombReq(1);
+    }
+}
+
+void
+beam_up()
+{
+    if (!(me->p_flags & PFBEAMUP)) {
+	sendBeamReq(1);		/* 1 means up... */
+    }
+}
+
+void
+beam_down()
+{
+    if (!(me->p_flags & PFBEAMDOWN)) {
+	sendBeamReq(2);		/* 2 means down... */
+    }
+}
+
+void
+cloak()
+{
+    if (me->p_flags & PFCLOAK) {
+	sendCloakReq(0);
+    } else {
+	sendCloakReq(1);
+    }
+}
+
+int
+mtime()
+{
+#if 0
+    struct timeb tm;
+
+    ftime(&tm);
+    /* mask off 16 high bits and add in milliseconds */
+    return (tm.time & 0x0000ffff) * 1000 + tm.millitm;
+#else
+    struct timeval tv;
+
+    gettimeofday(&tv, (struct timezone *) 0);
+    return (tv.tv_sec & 0x0ffff) * 1000 + tv.tv_usec / 1000;
+#endif
+}