annotate xrogue/Makefile.in @ 227:696277507a2e

Rogue V4, V5: disable a cheat granting permanent monster detection. In these two games, a potion of monster detection turns on the player's SEEMONST flag. A fuse is set to call turn_see() to turn the flag back off. But the save and restore functions do not recognize turn_see() and fail to set the fuse up again. When restoring, Rogue V4 merely sets the fuse's function to NULL and leaves it burning. When it goes off, a segfault results. Rogue V5 clears all the fuse's fields, and the player retains the ability to see all monsters on the level. The save and restore code can now handle the fuse. The function used is a new wrapper, turn_see_off(), which should lead to less problems with daemons being multiple incompatible types. Also, Rogue V4 and Super-Rogue now properly clear unrecognized daemon and fuse slots when restoring a saved game.
author John "Elwin" Edwards
date Sat, 05 Mar 2016 12:10:20 -0500
parents 4d0f53998e8a
children 455464db5800
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
133
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
1 # XRogue: Expeditions into the Dungeons of Doom
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
2 # Copyright (C) 1991 Robert Pietkivitch
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
3 # All rights reserved.
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
4 #
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
5 # Based on "Advanced Rogue"
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
6 # Copyright (C) 1984, 1985 Michael Morgan, Ken Dalka and AT&T
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
7 # All rights reserved.
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
8 #
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
9 # Based on "Rogue: Exploring the Dungeons of Doom"
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
10 # Copyright (C) 1980, 1981 Michael Toy, Ken Arnold and Glenn Wichman
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
11 # All rights reserved.
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
12 #
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
13 # See the file LICENSE.TXT for full copyright and licensing information.
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
14
156
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents: 133
diff changeset
15 DISTNAME=@PACKAGE_TARNAME@@PACKAGE_VERSION@
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents: 133
diff changeset
16 PROGRAM=@PROGRAM@
158
2515e03b2f09 arogue7, xrogue: add 'install' targets to Makefiles.
John "Elwin" Edwards
parents: 156
diff changeset
17 PACKAGE_TARNAME=@PACKAGE_TARNAME@-@PACKAGE_VERSION@
156
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents: 133
diff changeset
18
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents: 133
diff changeset
19 SAVEDIR=@SAVEDIR@
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents: 133
diff changeset
20 SCOREFILE=@SCOREFILE@
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents: 133
diff changeset
21 LOGFILE=@LOGFILE@
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents: 133
diff changeset
22 GROUPOWNER=@GROUPOWNER@
133
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
23
158
2515e03b2f09 arogue7, xrogue: add 'install' targets to Makefiles.
John "Elwin" Edwards
parents: 156
diff changeset
24 DESTDIR=
2515e03b2f09 arogue7, xrogue: add 'install' targets to Makefiles.
John "Elwin" Edwards
parents: 156
diff changeset
25 prefix=@prefix@
2515e03b2f09 arogue7, xrogue: add 'install' targets to Makefiles.
John "Elwin" Edwards
parents: 156
diff changeset
26 exec_prefix=@exec_prefix@
2515e03b2f09 arogue7, xrogue: add 'install' targets to Makefiles.
John "Elwin" Edwards
parents: 156
diff changeset
27 datarootdir=@datarootdir@
2515e03b2f09 arogue7, xrogue: add 'install' targets to Makefiles.
John "Elwin" Edwards
parents: 156
diff changeset
28 bindir=@bindir@
2515e03b2f09 arogue7, xrogue: add 'install' targets to Makefiles.
John "Elwin" Edwards
parents: 156
diff changeset
29 docdir=@docdir@
2515e03b2f09 arogue7, xrogue: add 'install' targets to Makefiles.
John "Elwin" Edwards
parents: 156
diff changeset
30
133
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
31 O=o
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
32
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
33 HDRS = rogue.h mach_dep.h network.h
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
34
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
35 OBJS1 = vers.$(O) actions.$(O) bolt.$(O) chase.$(O) command.$(O) daemon.$(O) \
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
36 daemons.$(O) eat.$(O) effects.$(O) fight.$(O) encumb.$(O) help.$(O) \
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
37 init.$(O) io.$(O) list.$(O) main.$(O) maze.$(O) misc.$(O) monsters.$(O)
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
38 OBJS2 = mons_def.$(O) move.$(O) n_level.$(O) options.$(O) outside.$(O) pack.$(O) \
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
39 passages.$(O) player.$(O) potions.$(O) rings.$(O) rip.$(O) rooms.$(O) \
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
40 save.$(O) scrolls.$(O) sticks.$(O) things.$(O) trader.$(O) util.$(O) \
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
41 weapons.$(O) wear.$(O) wizard.$(O) rogue.$(O) state.$(O) xcrypt.$(O)
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
42 OBJS = $(OBJS1) $(OBJS2)
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
43
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
44 CFILES= vers.c actions.c bolt.c chase.c command.c daemon.c daemons.c eat.c \
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
45 effects.c fight.c encumb.c help.c init.c io.c list.c main.c maze.c \
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
46 misc.c monsters.c mons_def.c move.c n_level.c options.c outside.c \
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
47 pack.c passages.c player.c potions.c rings.c rip.c rooms.c save.c \
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
48 scrolls.c sticks.c things.c trader.c util.c weapons.c wear.c wizard.c \
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
49 rogue.c state.c xcrypt.c
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
50
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
51 MISC = Makefile README.TXT LICENSE.TXT $(PROGRAM).sln $(PROGRAM).vcproj
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
52
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
53 CC = gcc
156
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents: 133
diff changeset
54 CPPFLAGS =@DEFS@
160
2d221d574280 arogue7, xrogue: set CFLAGS empty by default in the Makefiles.
John "Elwin" Edwards
parents: 158
diff changeset
55 CFLAGS=
156
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents: 133
diff changeset
56 LIBS = @LIBS@
133
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
57 RM = rm -f
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
58 TAR = tar
158
2515e03b2f09 arogue7, xrogue: add 'install' targets to Makefiles.
John "Elwin" Edwards
parents: 156
diff changeset
59 INSTALL=@INSTALL@
133
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
60 .SUFFIXES: .obj
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
61
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
62 .c.obj:
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
63 $(CC) $(CFLAGS) /c $*.c
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
64
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
65 $(PROGRAM): $(HDRS) $(OBJS)
156
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents: 133
diff changeset
66 $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
133
e6179860cb76 Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
John "Elwin" Edwards
parents:
diff changeset
67
158
2515e03b2f09 arogue7, xrogue: add 'install' targets to Makefiles.
John "Elwin" Edwards
parents: 156
diff changeset
68 install: $(PROGRAM)
224
4d0f53998e8a Makefile fixes related to installation.
John "Elwin" Edwards
parents: 160
diff changeset
69 touch test
4d0f53998e8a Makefile fixes related to installation.
John "Elwin" Edwards
parents: 160
diff changeset
70 if test ! -f $(DESTDIR)$(SCOREFILE) ; then \
4d0f53998e8a Makefile fixes related to installation.
John "Elwin" Edwards
parents: 160
diff changeset
71 mkdir -p `dirname $(DESTDIR)$(SCOREFILE)` ; \
4d0f53998e8a Makefile fixes related to installation.
John "Elwin" Edwards
parents: 160
diff changeset
72 $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi
4d0f53998e8a Makefile fixes related to installation.
John "Elwin" Edwards
parents: 160
diff changeset
73 if test ! -f $(DESTDIR)$(LOGFILE) ; then \
4d0f53998e8a Makefile fixes related to installation.
John "Elwin" Edwards
parents: 160
diff changeset
74 mkdir -p `dirname $(DESTDIR)$(LOGFILE)` ; \
4d0f53998e8a Makefile fixes related to installation.
John "Elwin" Edwards
parents: 160
diff changeset
75 $(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi
4d0f53998e8a Makefile fixes related to installation.
John "Elwin" Edwards
parents: 160
diff changeset
76 if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \
4d0f53998e8a Makefile fixes related to installation.
John "Elwin" Edwards
parents: 160
diff changeset
77 mkdir -p $(DESTDIR)$(SAVEDIR) ; fi
4d0f53998e8a Makefile fixes related to installation.
John "Elwin" Edwards
parents: 160
diff changeset
78 mkdir -p $(DESTDIR)$(bindir)
158
2515e03b2f09 arogue7, xrogue: add 'install' targets to Makefiles.
John "Elwin" Edwards
parents: 156
diff changeset
79 $(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(bindir)/$(PROGRAM)
2515e03b2f09 arogue7, xrogue: add 'install' targets to Makefiles.
John "Elwin" Edwards
parents: 156
diff changeset
80 -if test "x$(GROUPOWNER)" != "x" ; then \
2515e03b2f09 arogue7, xrogue: add 'install' targets to Makefiles.
John "Elwin" Edwards
parents: 156
diff changeset
81 chgrp $(GROUPOWNER) $(DESTDIR)$(SCOREFILE) ; \
2515e03b2f09 arogue7, xrogue: add 'install' targets to Makefiles.
John "Elwin" Edwards
parents: 156
diff changeset
82 chgrp $(GROUPOWNER) $(DESTDIR)$(LOGFILE) ; \
2515e03b2f09 arogue7, xrogue: add 'install' targets to Makefiles.
John "Elwin" Edwards
parents: 156
diff changeset
83 chgrp $(GROUPOWNER) $(DESTDIR)$(bindir)/$(PROGRAM) ; \
2515e03b2f09 arogue7, xrogue: add 'install' targets to Makefiles.
John "Elwin" Edwards
parents: 156
diff changeset
84 chgrp $(GROUPOWNER) $(DESTDIR)$(SAVEDIR) ; \
2515e03b2f09 arogue7, xrogue: add 'install' targets to Makefiles.
John "Elwin" Edwards
parents: 156
diff changeset
85 chmod 02755 $(DESTDIR)$(bindir)/$(PROGRAM) ; \
2515e03b2f09 arogue7, xrogue: add 'install' targets to Makefiles.