annotate rogue4/rogue.me.in @ 162:600873555ec0

Don't swap signal handlers in md_shellescape(). md_shellescape() sets SIGINT and SIGQUIT to be ignored, storing the previous handlers, and restores them after the shell exits. But it mixed up the two handlers. Since the signals were usually handled by the same function, this fix doesn't have much effect, but anything that makes signal code less confusing is a good thing.
author John "Elwin" Edwards
date Mon, 08 Jun 2015 10:01:25 -0400
parents a1dc75e38e73
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
51
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
1 .ds E \s-2<ESCAPE>\s0
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
2 .ds R \s-2<RETURN>\s0
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
3 .ds U \s-2UNIX\s0
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
4 .ie t .ds _ \d\(mi\u
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
5 .el .ds _ _
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
6 .de Cs
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
7 \&\\$3\*(lq\\$1\*(rq\\$2
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
8 ..
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
9 .sp 5
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
10 .ce 1000
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
11 .ps +4
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
12 .vs +4p
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
13 .b
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
14 A Guide to the Dungeons of Doom
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
15 .r
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
16 .vs
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
17 .ps
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
18 .sp 2
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
19 .i
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
20 Michael C. Toy
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
21 Kenneth C. R. C. Arnold
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
22 .r
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
23 .sp 2
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
24 Computer Systems Research Group
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
25 Department of Electrical Engineering and Computer Science
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
26 University of California
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
27 Berkeley, California 94720
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
28 .sp 4
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
29 .i ABSTRACT
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
30 .ce 0
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
31 .(b I F
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
32 .bi Rogue
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
33 is a visual CRT based fantasy game
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
34 which runs under the \*U\(dg timesharing system.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
35 .(f
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
36 \fR\(dg\*U is a trademark of Bell Laboratories\fP
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
37 .)f
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
38 This paper describes how to play rogue,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
39 and gives a few hints
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
40 for those who might otherwise get lost in the Dungeons of Doom.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
41 .)b
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
42 .he '''\fBA Guide to the Dungeons of Doom\fP'
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
43 .fo ''- % -''
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
44 .bp 1
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
45 .sh 1 Introduction
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
46 .pp
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
47 You have just finished your years as a student at the local fighter's guild.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
48 After much practice and sweat you have finally completed your training
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
49 and are ready to embark upon a perilous adventure.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
50 As a test of your skills,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
51 the local guildmasters have sent you into the Dungeons of Doom.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
52 Your task is to return with the Amulet of Yendor.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
53 Your reward for the completion of this task
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
54 will be a full membership in the local guild.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
55 In addition,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
56 you are allowed to keep all the loot you bring back from the dungeons.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
57 .pp
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
58 In preparation for your journey,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
59 you are given an enchanted mace,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
60 a bow, and a quiver of arrows
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
61 taken from a dragon's hoard in the far off Dark Mountains.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
62 You are also outfitted with elf-crafted armor
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
63 and given enough food to reach the dungeons.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
64 You say goodbye to family and friends for what may be the last time
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
65 and head up the road.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
66 .pp
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
67 You set out on your way to the dungeons
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
68 and after several days of uneventful travel,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
69 you see the ancient ruins
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
70 that mark the entrance to the Dungeons of Doom.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
71 It is late at night,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
72 so you make camp at the entrance
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
73 and spend the night sleeping under the open skies.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
74 In the morning you gather your mace,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
75 put on your armor,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
76 eat what is almost your last food,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
77 and enter the dungeons.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
78 .sh 1 "What is going on here?"
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
79 .pp
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
80 You have just begun a game of rogue.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
81 Your goal is to grab as much treasure as you can,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
82 find the Amulet of Yendor,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
83 and get out of the Dungeons of Doom alive.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
84 On the screen,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
85 a map of where you have been
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
86 and what you have seen on the current dungeon level is kept.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
87 As you explore more of the level,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
88 it appears on the screen in front of you.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
89 .pp
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
90 Rogue differs from most computer fantasy games in that it is screen oriented.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
91 Commands are all one or two keystrokes\**
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
92 .(f
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
93 \** As opposed to pseudo English sentences.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
94 .)f
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
95 and the results of your commands
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
96 are displayed graphically on the screen rather
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
97 than being explained in words.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
98 .pp
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
99 Another major difference between rogue and other computer fantasy games
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
100 is that once you have solved all the puzzles in a standard fantasy game,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
101 it has lost most of its excitement and it ceases to be fun.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
102 Rogue,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
103 on the other hand,
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
104 generates a new dungeon every time you play it
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
105 and even the author finds it an entertaining and exciting game.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
106 .sh 1 "What do all those things on the screen mean?"
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
107 .pp
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
108 In order to understand what is going on in rogue
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
109 you have to first get some grasp of what rogue is doing with the screen.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
110 The rogue screen is intended
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
111 to replace the \*(lqYou can see ...\*(rq descriptions
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset