changeset 256:c495a4f288c6

Import UltraRogue from the Roguelike Restoration Project (r1490)
author John "Elwin" Edwards
date Tue, 31 Jan 2017 19:56:04 -0500
parents d9badb9c0179
children c4b12d2d1dcd
files urogue/LICENSE.TXT urogue/Makefile urogue/README urogue/TODO urogue/armor.c urogue/artifact.c urogue/bag.c urogue/chase.c urogue/command.c urogue/daemon.c urogue/daemons.c urogue/dict.c urogue/dict.h urogue/dictutil.c urogue/dictutil.h urogue/encumb.c urogue/fight.c urogue/getplay.c urogue/history.txt urogue/ident.c urogue/init.c urogue/io.c urogue/lint-curses.h urogue/list.c urogue/magic.c urogue/main.c urogue/maze.c urogue/mdport.c urogue/memory.c urogue/misc.c urogue/monsdata.c urogue/monsters.c urogue/move.c urogue/newlvl.c urogue/options.c urogue/pack.c urogue/passages.c urogue/player.c urogue/potions.c urogue/random.c urogue/rings.c urogue/rip.c urogue/rogue.h urogue/rooms.c urogue/save.c urogue/scrolls.c urogue/state.c urogue/status.c urogue/sticks.c urogue/things.c urogue/trader.c urogue/urogue.6 urogue/urogue.sln urogue/urogue.vcproj urogue/verify.c urogue/vers.c urogue/weapons.c urogue/wizard.c urogue/xcrypt.c
diffstat 59 files changed, 42044 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/urogue/LICENSE.TXT	Tue Jan 31 19:56:04 2017 -0500
@@ -0,0 +1,138 @@
+Copyright (C) 1985, 1986, 1992, 1993, 1995 Herb Chong
+Portions Copyright (C) 1985 Michael Morgan, Ken Dalka
+Portions Copyright (C) 1981 Michael Toy, Ken Arnold and Glenn Wichman
+Portions Copyright (C) 1993, 1995  Nicholas J. Kisseberth
+All rights reserved.
+
+===========================================================================
+
+UltaRogue: The Ultimate Adventure in the Dungeons of Doom
+Copyright (C) 1985, 1986, 1992, 1993, 1995 Herb Chong
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. 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.
+3. Neither the name(s) of the author(s) nor the names of other contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+4. The name "UltraRogue" and "urogue" must not be used to endorse or 
+   promote products derived from this software without prior written 
+   permission.
+5. Products derived from this software may not be called "UltraRogue" or
+   "urogue", nor may "UltraRogue" or "urogue" appear in their name, 
+   without prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) 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 AUTHOR(S) 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.
+
+===========================================================================
+
+Portions of this software are based on the work of Michael Morgan and 
+Ken Dalka. Used under license:
+
+Advanced Rogue
+Copyright (C) 1984, 1985 Michael Morgan, Ken Dalka 
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. 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.
+3. Neither the name(s) of the author(s) nor the names of other contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) 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 AUTHOR(S) 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.
+
+===========================================================================
+
+Portions of this software are based on the work of Michael Toy, Ken Arnold
+and Glenn Wichman. Used under license:
+
+Rogue: Exploring the Dungeons of Doom
+Copyright (C) 1980, 1981 Michael Toy, Ken Arnold and Glenn Wichman
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. 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.
+3. Neither the name(s) of the author(s) nor the names of other contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) 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 AUTHOR(S) 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.
+
+===========================================================================
+
+Portions of this software (save/restore game state) are based on the work 
+of Nicholas J. Kisseberth. Used under license:
+
+Copyright (C) 1993, 1995 Nicholas J. Kisseberth
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. 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.
+3. Neither the name(s) of the author(s) nor the names of other contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) 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 AUTHOR(S) 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.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/urogue/Makefile	Tue Jan 31 19:56:04 2017 -0500
@@ -0,0 +1,167 @@
+# UltraRogue: The Ultimate Adventure in the Dungeons of Doom
+# Copyright (C) 1985, 1986, 1992, 1993, 1995 Herb Chong
+# All rights reserved.
+#
+# See the file LICENSE.TXT for full copyright and licensing information.
+
+#
+# Makefile for urogue
+#
+
+DISTNAME=urogue1.0.7
+
+HDRS		  = dict.h dictutil.h rogue.h
+OBJS		  = armor.o \
+		artifact.o \
+		bag.o \
+		chase.o \
+		command.o \
+		daemon.o \
+		daemons.o \
+		dict.o \
+		dictutil.o \
+		encumb.o \
+		fight.o \
+		getplay.o \
+		ident.o \
+		init.o \
+		io.o \
+		list.o \
+		magic.o \
+		main.o \
+		maze.o \
+		memory.o \
+		misc.o \
+		monsdata.o \
+		monsters.o \
+		move.o \
+		newlvl.o \
+		options.o \
+		pack.o \
+		passages.o \
+		player.o \
+		potions.o \
+		random.o \
+		rings.o \
+		rip.o \
+		rooms.o \
+		save.o \
+		scrolls.o \
+		state.o \
+		status.o \
+		sticks.o \
+		things.o \
+		trader.o \
+		verify.o \
+		vers.o \
+		weapons.o \
+		wizard.o
+
+PROGRAM 	  = ur
+
+CFILES		  = armor.c \
+		artifact.c \
+		bag.c \
+		chase.c \
+		command.c \
+		daemon.c \
+		daemons.c \
+		dict.c \
+		dictutil.c \
+		encumb.c \
+		fight.c \
+		getplay.c \
+		ident.c \
+		init.c \
+		io.c \
+		list.c \
+		magic.c \
+		main.c \
+		maze.c \
+		memory.c \
+		misc.c \
+		monsdata.c \
+		monsters.c \
+		move.c \
+		newlvl.c \
+		options.c \
+		pack.c \
+		passages.c \
+		player.c \
+		potions.c \
+		random.c \
+		rings.c \
+		rip.c \
+		rooms.c \
+		save.c \
+		scrolls.c \
+		state.c \
+		status.c \
+		sticks.c \
+		things.c \
+		trader.c \
+		verify.c \
+		vers.c \
+		weapons.c \
+		wizard.c
+
+MISC=           Makefile README LICENSE.TXT history.txt TODO
+
+CC    = gcc
+CFLAGS= -O3
+CRLIB = -lcurses
+RM    = rm -f
+TAR   = tar
+
+urogue:	$(OBJS) $(MAKEFILE)
+	$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(CRLIB) -o $@
+
+clean:		
+	rm -f $(OBJS) urogue a.out core *.map urogue.exe urogue.cat 
+
+dist.src:
+	make clean
+	tar cf $(DISTNAME)-src.tar $(CFILES) $(HDRS) $(MISC)
+	gzip -f $(DISTNAME)-src.tar
+
+dist.irix:
+	make clean
+	make CC=cc CFLAGS="-woff 1116 -O3" urogue
+	nroff -man urogue.6 | colcrt - > urogue.cat
+	tar cf $(DISTNAME)-irix.tar urogue urogue.cat README LICENSE.TXT
+	gzip -f $(DISTNAME)-irix.tar
+
+dist.aix:
+	make clean
+	make CC=xlc CFLAGS="-qmaxmem=16768 -O3 -qstrict" urogue
+	nroff -man urogue.6 | colcrt - > urogue.cat
+	tar cf $(DISTNAME)-aix.tar urogue urogue.cat README LICENSE.TXT
+	gzip -f $(DISTNAME)-aix.tar
+
+dist.linux:
+	make clean
+	make urogue
+	groff -man urogue.6 | sed -e 's/.\x08//g' > urogue.cat
+	tar cf $(DISTNAME)-linux.tar urogue urogue.cat README LICENSE.TXT
+	gzip -f $(DISTNAME)-linux.tar
+
+dist.interix:
+	make clean
+	make urogue
+	groff -P-b -P-u -man -Tascii urogue.6 > urogue.cat
+	tar cf $(DISTNAME)-interix.tar urogue urogue.cat README LICENSE.TXT
+	gzip -f $(DISTNAME)-interix.tar
+
+dist.cygwin:
+	make clean
+	make urogue
+	groff -P-c -man -Tascii urogue.6 | sed -e 's/.\x08//g' > urogue.cat
+	tar cf $(DISTNAME)-cygwin.tar urogue.exe urogue.cat README LICENSE.TXT
+	gzip -f $(DISTNAME)-cygwin.tar
+
+dist.djgpp:
+	make clean
+	make LDFLAGS="-L$(DJDIR)/LIB" CRLIB="-lpdcurses" urogue
+	groff -man -Tascii urogue.6 | sed -e 's/.\x08//g' > urogue.cat
+	rm -f $(DISTNAME)-djgpp.zip
+	zip $(DISTNAME)-djgpp.zip urogue.exe urogue.cat README LICENSE.TXT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/urogue/README	Tue Jan 31 19:56:04 2017 -0500
@@ -0,0 +1,74 @@
+UltraRogue: The Ultimate Adventure in the Dungeons of Doom
+Copyright (C) 1985, 1986, 1992, 1993, 1995 Herb Chong
+All rights reserved.
+
+There are 8 different treasures to be picked up in this version of rogue.
+The first is on level 25 and is relatively easy to pick up.  The last is
+on level 100 and is very difficult to get.  Carrying any one of the
+unique treasures allows the rogue to go up the stairs, but one has to
+be very careful.  To be a total winner, yu must pick up all 8 and
+return to the surface again.
+
+(note: the above may be incorrect, i think the number of levels is
+reduced to 50 and you have to get all 8 artifacts to go back up)
+
+The environment variable UROGUE is used to set up the default things
+for a player.  The options that can be set are:
+
+terse:		short output messages
+flush:		flush typeahead when fighting
+jump:		show position only at the end of running
+inven:		inventory style
+askme:		ask about unidentified things
+stopdoor:       stop running when next to something interesting
+name:		the rogue's name (string)
+fruit:		the funny fruit used by the rogue (string)
+file:		default savefile name (string)
+score:		default scorefile name (string)
+class:		default player class (string)
+
+Something like
+
+setenv UROGUE "name=George of the Jungle,fruit=peach,noterse,jump"
+
+does the obvious.  The "score" option is ignored unless you start
+urogue in wizard mode.  The class option string can have the following
+values: "fighter", "illus", "paladin", "ranger", "cleric", "magic",
+"assasin", "druid", "ninja", and "thief" and is initialized only at
+startup time.  The "inven" option can take the values "slow", "clear",
+and "overwrite".
+
+
+About the Author
+================
+
+Herb Chong is currently freelance writing and doing some teaching.
+If you pick up a copy of Windows Sources Magazine, you can usually
+find something he has written. Starting in October (1993) he will
+have a regular column. Herb has also just started teaching Adult Ed
+and undergraduate classes at Mercy College, a small and not very well
+known college in Westchester, NY.
+
+Acknowledgements
+================
+
+The source code for Rogue 3.6 (by Michael Toy, Ken Arnold and Glenn 
+Wichman) was used as the original basis for this game. A thousand