Skip to content

Commit

Permalink
Import of hunt as of 2003-04-16 from ftp://ftp.cgl.ucsf.edu/pub/hunt.…
Browse files Browse the repository at this point in the history
…shar.Z,

with files moved to proper subdirs.
Changes since 19930717: BSD licensed, and minimal fixes.
  • Loading branch information
wiz committed Jun 11, 2003
1 parent d14d6e1 commit bed2427
Show file tree
Hide file tree
Showing 24 changed files with 868 additions and 90 deletions.
206 changes: 206 additions & 0 deletions games/hunt/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,206 @@
#
# Hunt
#
# 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.
#
SHELL= /bin/sh
HDR= hunt.h bsd.h talk_ctl.h
DSRC1= answer.c driver.c draw.c execute.c expl.c makemaze.c
DSRC2= shots.c terminal.c extern.c \
faketalk.c ctl.c ctl_transact.c get_names.c
DSRC= ${DSRC1} ${DSRC2}
DOBJ= answer.o driver.o draw.o execute.o expl.o makemaze.o \
shots.o terminal.o extern.o \
faketalk.o ctl.o ctl_transact.o get_names.o
PSRC= hunt.c connect.c playit.c pathname.c otto.c
POBJ= hunt.o connect.o playit.o otto.o

#
# Installation destinations
BINDIR= /usr/games
LIBDIR= /usr/games/lib
MANDIR= /usr/man/man6

#
# Game parameter flags are:
# RANDOM Include doors which disperse shots randomly
# REFLECT Include diagonal walls that reflect shots
# MONITOR Include code for watching the game from the sidelines
# OOZE Include slime shots
# FLY Make people fly when walls regenerate under them
# VOLCANO Include occasional large slime explosions
# DRONE Include occasional drone shots
# BOOTS Include boots (which makes you immune to slime)
# OTTO Reserved for CGL automatic player
#
GAME_PARAM= -DRANDOM -DREFLECT -DMONITOR -DOOZE -DFLY -DVOLCANO -DBOOTS \
-DOTTO

#
# System parameter flags are:
# DEBUG Don't trust everything in the code
# INTERNET Use the Internet domain IPC instead of UNIX domain
# LOG Use syslog error-logging in driver (needs SYSLOG_42 or
# or SYSLOG_43)
# OLDIPC Use 4.1a internet system calls (must also define
# INTERNET)
# TERMINFO Use terminfo instead of termcap
# SYSLOG_42 Use 4.2 BSD syslog(3)
# SYSLOG_43 Use 4.2 BSD syslog(3)
# LOG Use syslog(3) for logging errors
# BSD_RELEASE Which version of BSD distribution
# 42 is 4.2BSD (implies SYSLOG_42)
# 43 is 4.3BSD (implies BROADCAST, SYSLOG_43)
# USE_CURSES Use curses for everything (automatic w/TERMINFO)
# SIGNAL_TYPE void or int
# HPUX do special HPUX only hacks
#
# NOTE: if you change the domain (INTERNET vs UNIX) then "make newdomain"
#
DEFS_BSD43= -DINTERNET -DLOG -DBSD_RELEASE=43 -DSIGNAL_TYPE=int
DEFS_BSD44= -DINTERNET -DLOG -DBSD_RELEASE=44 -DSIGNAL_TYPE=void
DEFS_SUN= -DINTERNET -DLOG -DBSD_RELEASE=42 -DBROADCAST -DSIGNAL_TYPE=int
DEFS_SUN4_0= -DINTERNET -DLOG -DSYSLOG_43 -DBROADCAST -DSIGNAL_TYPE=void
DEFS_ULTRIX= -DINTERNET -DLOG -DBSD_RELEASE=42 -DSIGNAL_TYPE=void
DEFS_HPUX= -DHPUX -DINTERNET -DLOG -DSYSLOG_43 -DBROADCAST -DTERMINFO -DSIGNAL_TYPE=void
DEFS_SGI= -DINTERNET -DLOG -DBSD_RELEASE=43 -DTERMINFO -DSIGNAL_TYPE=void
DEFS_NEXT= $(DEFS_BSD43) -bsd -Dconst= -DSIGNAL_TYPE=int
DEFS_OSF1= -DINTERNET -DLOG -DBSD_RELEASE=43 -DSIGNAL_TYPE=void -D_BSD

#
# The following flags are used for system specific compilation arguments.
# Change them to include the appropriate arguments. For example, on SGI
# machines, they should look like
# SYSCFLAGS= -I/usr/include/bsd
# SYSLIBS= -lbsd
#
SYSCFLAGS=
SYSLIBS=

#
# Generic definitions
#
DEFS= $(GAME_PARAM) $(DEFS_BSD44)
CFLAGS= -O2 $(SYSCFLAGS) $(DEFS)

#
# Normal targets
#
all: hunt huntd

hunt: $(POBJ) pathname.o
$(CC) -o hunt $(POBJ) pathname.o -lcurses -ltermcap $(SYSLIBS)

huntd: $(DOBJ) pathname.o
$(CC) -o huntd $(DOBJ) pathname.o $(SYSLIBS)

debug: hunt.dbg huntd.dbg

hunt.dbg: $(POBJ) pathname.dbg.o
$(CC) -o hunt.dbg $(POBJ) pathname.dbg.o -lcurses -ltermcap $(SYSLIBS)

huntd.dbg: $(DOBJ) pathname.dbg.o
$(CC) -o huntd.dbg $(DOBJ) pathname.dbg.o $(SYSLIBS)

#
# Source distribution in three files to a particular person
#
mail.msg:
-@if test x${MAIL} = x ; then\
/bin/echo MAIL not set ;\
fi
mail.quit:
@test x$mail != x
mail: mail.msg mail.quit
shar -a README hunt.6 huntd.6 Makefile ${HDR} ${PSRC} |\
Mail -s "Hunt (part 1 of 3)" ${MAIL}
shar -a ${DSRC1} | Mail -s "Hunt (part 2 of 3)" ${MAIL}
shar -a ${DSRC2} | Mail -s "Hunt (part 3 of 3)" ${MAIL}

mail.part2: mail.msg mail.quit
shar -a ${DSRC1} | Mail -s "Hunt (part 2 of 3)" ${MAIL}

#
# Single file source distribution
#
shar:
shar README hunt.6 huntd.6 Makefile ${HDR} ${PSRC} ${DSRC1} \
${DSRC2} | compress -c > hunt.shar.Z

#
# System installation
#
install: all
-cmp -s huntd ${LIBDIR}/huntd || install -c huntd ${LIBDIR}/huntd
-cmp -s hunt ${BINDIR}/hunt || install -c hunt ${BINDIR}/hunt
-cmp -s hunt.6 ${MANDIR}/hunt.6 \
|| install -m 444 -c hunt.6 ${MANDIR}/hunt.6
-cmp -s huntd.6 ${MANDIR}/huntd.6 \
|| install -m 444 -c huntd.6 ${MANDIR}/huntd.6

#
# Object file dependencies
#
$(POBJ): $(HDR)

$(DOBJ): $(HDR)
$(CC) $(CFLAGS) -c $*.c

pathname.o: pathname.c Makefile
$(CC) $(CFLAGS) -DHUNTD=\"${LIBDIR}/huntd\" -c pathname.c

pathname.dbg.o: pathname.c
@echo $(CC) $(CFLAGS) -DDEBUG -c pathname.c -o pathname.dbg.o
@rm -f x.c
@ln pathname.c x.c
@$(CC) $(CFLAGS) -DDEBUG -c x.c
@mv x.o pathname.dbg.o
@rm -f x.c

#
# Miscellaneous functions
#
lint: driver.lint hunt.lint

driver.lint: $(DSRC)
lint $(DEFS) $(DSRC) 2>&1 > driver.lint

hunt.lint: $(PSRC)
lint $(DEFS) $(PSRC) -lcurses 2>&1 > hunt.lint

tags: $(DSRC) $(PSRC)
ctags $(DSRC) $(PSRC)

clean:
rm -f $(POBJ) $(DOBJ) pathname.o pathname.dbg.o errs hunt.dbg \
huntd.dbg hunt huntd hunt.lint driver.lint hunt.shar.Z

newdomain:
rm hunt.o extern.o driver.o
31 changes: 28 additions & 3 deletions games/hunt/hunt/connect.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,32 @@
/*
* 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 "hunt.h"
Expand Down
35 changes: 29 additions & 6 deletions games/hunt/hunt/hunt.6
Original file line number Diff line number Diff line change
@@ -1,10 +1,33 @@
.\" hunt
.\" Copyright (c) 1985 Conrad C. Huang, Gregory S. Couch, Kenneth C.R.C. Arnold
.\" San Francisco, California
.\" hunt
.\"
.\" Copyright (c) 1985 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\" 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.
.\"
.TH HUNT 6 "21 August 1986"
.UC 4
Expand Down
43 changes: 34 additions & 9 deletions games/hunt/hunt/hunt.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,32 @@
/*
* 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 <errno.h>
Expand Down Expand Up @@ -94,7 +119,7 @@ char **av;
extern int optind;
extern char *optarg;
long enter_status;
SIGNAL_TYPE intr(), sigterm(), sigemt(), tstp();
SIGNAL_TYPE intr(), sigterm(), sigusr1(), tstp();
long env_init(), quit();

enter_status = env_init((long) Q_CLOAK);
Expand Down Expand Up @@ -250,7 +275,7 @@ char **av;
clear_the_screen();
(void) signal(SIGINT, intr);
(void) signal(SIGTERM, sigterm);
(void) signal(SIGEMT, sigemt);
(void) signal(SIGUSR1, sigusr1);
(void) signal(SIGPIPE, SIG_IGN);
#if !defined(USE_CURSES) && defined(SIGTSTP)
(void) signal(SIGTSTP, tstp);
Expand Down Expand Up @@ -684,7 +709,7 @@ start_driver()
execl(Driver, "HUNT", "-p", use_port, (char *) NULL);
# endif
/* only get here if exec failed */
(void) kill(getppid(), SIGEMT); /* tell mom */
(void) kill(getppid(), SIGUSR1); /* tell mom */
_exit(1);
}
# ifdef USE_CURSES
Expand Down Expand Up @@ -732,11 +757,11 @@ sigterm()


/*
* sigemt:
* Handle a emt signal - shouldn't happen on vaxes(?)
* sigusr1:
* Handle a usr1 signal
*/
SIGNAL_TYPE
sigemt()
sigusr1()
{
leave(1, "Unable to start driver. Try again.");
/* NOTREACHED */
Expand Down
Loading

0 comments on commit bed2427

Please sign in to comment.