+/* $NetBSD: expl.c,v 1.3 2003/06/11 12:00:22 wiz Exp $ */
/*
- * Hunt
- * Copyright (c) 1985 Conrad C. Huang, Gregory S. Couch, Kenneth C.R.C. Arnold
- * San Francisco, California
+ * Copyright (c) 1983-2003, Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * + Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * + Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * + Neither the name of the University of California, San Francisco nor
+ * the names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#include <sys/cdefs.h>
+#ifndef lint
+__RCSID("$NetBSD: expl.c,v 1.3 2003/06/11 12:00:22 wiz Exp $");
+#endif /* not lint */
+
+# include <stdlib.h>
# include "hunt.h"
+static void remove_wall __P((int, int));
+
+
/*
* showexpl:
* Show the explosions as they currently are
*/
+void
showexpl(y, x, type)
-register int y, x;
-char type;
+ int y, x;
+ char type;
{
- register PLAYER *pp;
- register EXPL *ep;
+ PLAYER *pp;
+ EXPL *ep;
if (y < 0 || y >= HEIGHT)
return;
* Roll the explosions over, so the next one in the list is at the
* top
*/
+void
rollexpl()
{
- register EXPL *ep;
- register PLAYER *pp;
- register int y, x;
- register char c;
- register EXPL *nextep;
+ EXPL *ep;
+ PLAYER *pp;
+ int y, x;
+ char c;
+ EXPL *nextep;
for (ep = Expl[EXPLEN - 1]; ep != NULL; ep = nextep) {
nextep = ep->e_next;
* if there is no space left over, put the a wall at
* the location currently pointed at.
*/
+static void
remove_wall(y, x)
-int y, x;
+ int y, x;
{
- register REGEN *r;
+ REGEN *r;
# if defined(MONITOR) || defined(FLY)
- register PLAYER *pp;
+ PLAYER *pp;
# endif
# ifdef FLY
- register char save_char;
+ char save_char = 0;
# endif
r = rem_index;
* clearwalls:
* Clear out the walls array
*/
+void
clearwalls()
{
- register REGEN *rp;
+ REGEN *rp;
for (rp = removed; rp < &removed[MAXREMOVE]; rp++)
rp->r_y = 0;