From 08eca96e71d96ad1f8e9b888875ab5570f208d19 Mon Sep 17 00:00:00 2001 From: Cameron Katri Date: Wed, 17 Feb 2021 14:05:02 -0500 Subject: Get all the games compiling for iOS --- rogue/Makefile | 21 +- rogue/USD.doc/Makefile | 10 - rogue/USD.doc/rogue.me | 834 ------------------------------------------------- rogue/machdep.c | 1 + rogue/play.c | 2 + 5 files changed, 16 insertions(+), 852 deletions(-) delete mode 100644 rogue/USD.doc/Makefile delete mode 100644 rogue/USD.doc/rogue.me (limited to 'rogue') diff --git a/rogue/Makefile b/rogue/Makefile index e46f5173..07b115de 100644 --- a/rogue/Makefile +++ b/rogue/Makefile @@ -6,15 +6,20 @@ CPPFLAGS+=-DUNIX SRCS= hit.c init.c inventory.c level.c machdep.c main.c \ message.c monster.c move.c object.c pack.c play.c random.c ring.c \ room.c save.c score.c spec_hit.c throw.c trap.c use.c zap.c -DPADD= ${LIBCURSES} ${LIBTERMINFO} -LDADD= -lcurses -lterminfo -HIDEGAME=hidegame -SETGIDGAME=yes MAN= rogue.6 -SUBDIR.roff+=USD.doc +all: $(PROG) -COPTS.score.c+= ${GCC_NO_FORMAT_TRUNCATION} +$(PROG): $(SRCS) + $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $(PROG) $(SRCS) -lncursesw + $(STRIP) $(PROG) -.include -.include +install: $(PROG) $(MAN) + $(GINSTALL) -Dm2755 $(PROG) $(DESTDIR)/usr/games/$(PROG) + $(GINSTALL) -Dm644 $(MAN) $(DESTDIR)/usr/share/man/man6/$(MAN) + $(GINSTALL) -d $(DESTDIR)/var/games + +clean: + rm -f $(CLEANFILES) $(PROG) + +.PHONY: all clean install diff --git a/rogue/USD.doc/Makefile b/rogue/USD.doc/Makefile deleted file mode 100644 index 4e0bf2e8..00000000 --- a/rogue/USD.doc/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# $NetBSD: Makefile,v 1.7 2014/07/05 19:22:42 dholland Exp $ -# @(#)Makefile 8.1 (Berkeley) 6/8/93 - -SECTION=reference/ref6 -ARTICLE=rogue -SRCS= rogue.me -MACROS= -me -ROFF_TBL=yes - -.include diff --git a/rogue/USD.doc/rogue.me b/rogue/USD.doc/rogue.me deleted file mode 100644 index b1592dd2..00000000 --- a/rogue/USD.doc/rogue.me +++ /dev/null @@ -1,834 +0,0 @@ -.\" $NetBSD: rogue.me,v 1.6 2004/02/13 11:36:08 wiz Exp $ -.\" -.\" Copyright (c) 1986, 1993 -.\" The 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: -.\" 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 of the University 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 REGENTS 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 REGENTS 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. -.\" -.\" @(#)rogue.me 8.2 (Berkeley) 6/1/94 -.\" -.ds E \s-2\s0 -.ds R \s-2\s0 -.ds U \s-2UNIX\s0 -.ie t .ds _ \d\(mi\u -.el .ds _ _ -.de Cs -\&\\$3\*(lq\\$1\*(rq\\$2 -.. -.sp 5 -.ce 1000 -.ps +4 -.vs +4p -.b -A Guide to the Dungeons of Doom -.r -.vs -.ps -.sp 2 -.i -Michael C. Toy -Kenneth C. R. C. Arnold -.r -.sp 2 -Computer Systems Research Group -Department of Electrical Engineering and Computer Science -University of California -Berkeley, California 94720 -.sp 4 -.i ABSTRACT -.ce 0 -.(b I F -.bi Rogue -is a visual CRT based fantasy game -which runs under the \*U\(dg timesharing system. -.(f -\fR\(dg\*U is a trademark of Bell Laboratories\fP -.)f -This paper describes how to play rogue, -and gives a few hints -for those who might otherwise get lost in the Dungeons of Doom. -.)b -\".he '''\fBA Guide to the Dungeons of Doom\fP' -\" .fo ''- % -'' -.eh 'USD:30-%''A Guide to the Dungeons of Doom' -.oh 'A Guide to the Dungeons of Doom''USD:30-%' -.sh 1 Introduction -.pp -You have just finished your years as a student at the local fighter's guild. -After much practice and sweat you have finally completed your training -and are ready to embark upon a perilous adventure. -As a test of your skills, -the local guildmasters have sent you into the Dungeons of Doom. -Your task is to return with the Amulet of Yendor. -Your reward for the completion of this task -will be a full membership in the local guild. -In addition, -you are allowed to keep all the loot you bring back from the dungeons. -.pp -In preparation for your journey, -you are given an enchanted mace, -a bow, and a quiver of arrows -taken from a dragon's hoard in the far off Dark Mountains. -You are also outfitted with elf-crafted armor -and given enough food to reach the dungeons. -You say goodbye to family and friends for what may be the last time -and head up the road. -.pp -You set out on your way to the dungeons -and after several days of uneventful travel, -you see the ancient ruins -that mark the entrance to the Dungeons of Doom. -It is late at night, -so you make camp at the entrance -and spend the night sleeping under the open skies. -In the morning you gather your weapons, -put on your armor, -eat what is almost your last food, -and enter the dungeons. -.sh 1 "What is going on here?" -.pp -You have just begun a game of rogue. -Your goal is to grab as much treasure as you can, -find the Amulet of Yendor, -and get out of the Dungeons of Doom alive. -On the screen, -a map of where you have been -and what you have seen on the current dungeon level is kept. -As you explore more of the level, -it appears on the screen in front of you. -.pp -Rogue differs from most computer fantasy games in that it is screen oriented. -Commands are all one or two keystrokes\** -.(f -\** As opposed to pseudo English sentences. -.)f -and the results of your commands -are displayed graphically on the screen rather -than being explained in words.\** -.(f -\** A minimum screen size of 24 lines by 80 columns is required. -If the screen is larger, only the 24x80 section will be used -for the map. -.)f -.pp -Another major difference between rogue and other computer fantasy games -is that once you have solved all the puzzles in a standard fantasy game, -it has lost most of its excitement and it ceases to be fun. -Rogue, -on the other hand, -generates a new dungeon every time you play it -and even the author finds it an entertaining and exciting game. -.sh 1 "What do all those things on the screen mean?" -.pp -In order to understand what is going on in rogue -you have to first get some grasp of what rogue is doing with the screen. -The rogue screen is intended -to replace the \*(lqYou can see ...\*(rq descriptions -of standard fantasy games. -Figure 1 is a sample of what a rogue screen might look like. -.(z -.hl -.nf -.TS -center; -ce0 ce0 ce0 ce0 ce0 ce0 ce0 ce0 ce0 ce0 ce0 ce. -- - - - - - - - - - - - -| . . . . . . . . . . + -| . . @ . . . . ] . . | -| . . . . B . . . . . | -| . . . . . . . . . . | -- - - - - + - - - - - - -.TE - - -.ce 1000 -Level: 1 Gold: 0 Hp: 12(12) Str: 16(16) Arm: 4 Exp: 1/0 - -Figure 1 -.ce -.hl -.)z -.sh 2 "The bottom line" -.pp -At the bottom line of the screen -are a few pieces of cryptic information -describing your current status. -Here is an explanation of what these things mean: -.ip Level \w'Level\ \ 'u -This number indicates how deep you have gone in the dungeon. -It starts at one and goes up as you go deeper into the dungeon. -.ip Gold \w'Level\ \ 'u -The number of gold pieces you have managed to find -and keep with you so far. -.ip Hp \w'Level\ \ 'u -Your current and maximum health points. -Health points indicate how much damage you can take before you die. -The more you get hit in a fight, -the lower they get. -You can regain health points by resting. -The number in parentheses -is the maximum number your health points can reach. -.ip Str \w'Level\ \ 'u -Your current strength and maximum ever strength. -This can be any integer less than or equal to 99, -or greater than or equal to 1. -The higher the number, -the stronger you are. -The number in the parentheses -is the maximum strength you have attained so far this game. -.ip Arm \w'Level\ \ 'u -Your current armor protection. -This number indicates how effective your armor is -in stopping blows from unfriendly creatures. -The higher this number is, -the more effective the armor. -.ip Exp \w'Level\ \ 'u -These two numbers give your current experience level -and experience points. -As you do things, -you gain experience points. -At certain experience point totals, -you gain an experience level. -The more experienced you are, -the better you are able to fight and to withstand magical attacks. -.sh 2 "The top line" -.pp -The top line of the screen is reserved -for printing messages that describe things -that are impossible to represent visually. -If you see a \*(lq--More--\*(rq on the top line, -this means that rogue wants to print another message on the screen, -but it wants to make certain -that you have read the one that is there first. -To read the next message, -just type a space. -.sh 2 "The rest of the screen" -.pp -The rest of the screen is the map of the level -as you have explored it so far. -Each symbol on the screen represents something. -Here is a list of what the various symbols mean: -.ip @ -This symbol represents you, the adventurer. -.ip "-\^|" -These symbols represent the walls of rooms. -.ip + -A door to/from a room. -.ip . -The floor of a room. -.ip # -The floor of a passage between rooms. -.ip * -A pile or pot of gold. -.ip ) -A weapon of some sort. -.ip ] -A piece of armor. -.ip ! -A flask containing a magic potion. -.ip ? -A piece of paper, usually a magic scroll. -.ip = -A ring with magic properties -.ip / -A magical staff or wand -.ip ^ -A trap, watch out for these. -.ip % -A staircase to other levels -.ip : -A piece of food. -.ip A-Z -The uppercase letters -represent the various inhabitants of the Dungeons of Doom. -Watch out, they can be nasty and vicious. -.sh 1 Commands -.pp -Commands are given to rogue by typing one or two characters. -Most commands can be preceded by a count to repeat them -(e.g. typing -.Cs 10s -will do ten searches). -Commands for which counts make no sense -have the count ignored. -To cancel a count or a prefix, -type \*E. -The list of commands is rather long, -but it can be read at any time during the game with the -.Cs ? -command. -Here it is for reference, -with a short explanation of each command. -.ip ? -The help command. -Asks for a character to give help on. -If you type a -.Cs * , -it will list all the commands, -otherwise it will explain what the character you typed does. -.ip / -This is the \*(lqWhat is that on the screen?\*(rq command. -A -.Cs / -followed by any character that you see on the level, -will tell you what that character is. -For instance, -typing -.Cs /@ -will tell you that the -.Cs @ -symbol represents you, the player. -.ip "h, H, ^H" -Move left. -You move one space to the left. -If you use upper case -.Cs h , -you will continue to move left until you run into something. -This works for all movement commands -(e.g. -.Cs L -means run in direction -.Cs l ) -If you use the \*(lqcontrol\*(rq -.Cs h , -you will continue moving in the specified direction -until you pass something interesting or run into a wall. -You should experiment with this, -since it is a very useful command, -but very difficult to describe. -This also works for all movement commands. -.ip j -Move down. -.ip k -Move up. -.ip l -Move right. -.ip y -Move diagonally up and left. -.ip u -Move diagonally up and right. -.ip b -Move diagonally down and left. -.ip n -Move diagonally down and right. -.ip t -Throw an object. -This is a prefix command. -When followed with a direction -it throws an object in the specified direction. -(e.g. type -.Cs th -to throw -something to the left.) -.ip f -Fight until someone dies. -When followed with a direction -this will force you to fight the creature in that direction -until either you or it bites the big one. -.ip m -Move onto something without picking it up. -This will move you one space in the direction you specify and, -if there is an object there you can pick up, -it won't do it. -.ip z -Zap prefix. -Point a staff or wand in a given direction -and fire it. -Even non-directional staves must be pointed in some direction -to be used. -.ip ^ -Identify trap command. -If a trap is on your map -and you can't remember what type it is, -you can get rogue to remind you -by getting next to it and typing -.Cs ^ -followed by the direction that would move you on top of it. -.ip s -Search for traps and secret doors. -Examine each space immediately adjacent to you -for the existence of a trap or secret door. -There is a large chance that even if there is something there, -you won't find it, -so you might have to search a while before you find something. -.ip > -Climb down a staircase to the next level. -Not surprisingly, this can only be done if you are standing on staircase. -.ip < -Climb up a staircase to the level above. -This can't be done without the Amulet of Yendor in your possession. -.ip "." -Rest. -This is the \*(lqdo nothing\*(rq command. -This is good for waiting and healing. -.ip , -Pick up something. -This picks up whatever you are currently standing on, -if you are standing on anything at all. -.ip i -Inventory. -List what you are carrying in your pack. -.ip I -Selective inventory. -Tells you what a single item in your pack is. -.ip q -Quaff one of the potions you are carrying. -.ip r -Read one of the scrolls in your pack. -.ip e -Eat food from your pack. -.ip w -Wield a weapon. -Take a weapon out of your pack and carry it for use in combat, -replacing the one you are currently using (if any). -.ip W -Wear armor. -You can only wear one suit of armor at a time. -This takes extra time. -.ip T -Take armor off. -You can't remove armor that is cursed. -This takes extra time. -.ip P -Put on a ring. -You can wear only two rings at a time -(one on each hand). -If you aren't wearing any rings, -this command will ask you which hand you want to wear it on, -otherwise, it will place it on the unused hand. -The program assumes that you wield your sword in your right hand. -.ip R -Remove a ring. -If you are only wearing one ring, -this command takes it off. -If you are wearing two, -it will ask you which one you wish to remove, -.ip d -Drop an object. -Take something out of your pack and leave it lying on the floor. -Only one object can occupy each space. -You cannot drop a cursed object at all -if you are wielding or wearing it. -.ip c -Call an object something. -If you have a type of object in your pack -which you wish to remember something about, -you can use the call command to give a name to that type of object. -This is usually used when you figure out what a -potion, scroll, ring, or staff is -after you pick it up but before it is truly identified. Each type of -scroll and potion will become identified after its first use. -.ip o -Examine and set options. -This command is further explained in the section on options. -.ip ^R -Redraws the screen. -Useful if spurious messages or transmission errors -have messed up the display. -.ip ^P -Print last message. -Useful when a message disappears before you can read it. -Consecutive repetitions of this command will reveal the last -five messages. -.ip \*E -Cancel a command, prefix, or count. -.ip ! -Escape to a shell for some commands. -.ip Q -Quit. -Leave the game. -.ip S -Save the current game in a file. -It will ask you whether you wish to use the default save file. -.i Caveat : -Rogue won't let you start up a copy of a saved game, -and it removes the save file as soon as you start up a restored game. -This is to prevent people from saving a game just before a dangerous position -and then restarting it if they die. -To restore a saved game, -give the file name as an argument to rogue. -As in -.ti +1i -.nf -% rogue \fIsave\*_file\fP -.ip v -Prints the program version number. -.ip ) -Print the weapon you are currently wielding -.ip ] -Print the armor you are currently wearing -.ip = -Print the rings you are currently wearing -.sh 1 Rooms -.pp -Rooms in the dungeons are lit as you enter them. -Upon leaving a room, -all monsters inside the room are erased from the screen. -In the darkness of a corridor, you can only see one space -in all directions around you. -.sh 1 Fighting -.pp -If you see a monster and you wish to fight it, -just attempt to run into it. -Many times a monster you find will mind its own business -unless you attack it. -It is often the case that discretion is the better part of valor. -.sh 1 "Objects you can find" -.pp -When you find something in the dungeon, -it is common to want to pick the object up. -This is accomplished in rogue by walking over the object -(unless you use the -.Cs m -prefix, see above). -If you are carrying too many things, -the program will tell you and it won't pick up the object, -otherwise it will add it to your pack -and tell you what you just picked up. -.pp -Many of the commands that operate on objects must prompt you -to find out which object you want to use. -If you change your mind and don't want to do that command after all, -just type an \*E and the command will be aborted. -.pp -Some objects, like armor and weapons, -are easily differentiated. -Others, like scrolls and potions, -are given labels which vary according to type. -During a game, -any two of the same kind of object -with the same label -are the same type. -However, -the labels will vary from game to game. -.pp -When you use one of these labeled objects, -if its effect may be obvious. Potions or scrolls will -become identified at this point, but not other items. -You may want to call these other items something -so you will recognize it later, -you can use the -.Cs call -command -(see above). -.sh 2 Weapons -.pp -Some weapons, -like arrows, -come in bunches, -but most come one at a time. -In order to use a weapon, -you must wield it. -To fire an arrow out of a bow, -you must first wield the bow, -then throw the arrow. -You can only wield one weapon at a time, -but you can't change weapons if the one -you are currently wielding is cursed. -The commands to use weapons are -.Cs w -(wield) -and -.Cs t -(throw). -.sh 2 Armor -.pp -There are various sorts of armor lying around in the dungeon. -Some of it is enchanted, -some is cursed, -and some is just normal. -Different armor types have different armor protection. -The higher the armor protection, -the more protection the armor affords against the blows of monsters. -Here is a list of the various armor types and their normal armor protection: -.(b -.TS -box center; -l r. -\ \ \fIType Protection\fP -None 0 -Leather armor 2 -Studded leather / Ring mail 3 -Scale mail 4 -Chain mail 5 -Banded mail / Splint mail 6 -Plate mail 7 -.TE -.)b -.lp -If a piece of armor is enchanted, -its armor protection will be higher than normal. -If a suit of armor is cursed, -its armor protection will be lower, -and you will not be able to remove it. -However, not all armor with a protection that is lower than normal is cursed. -.pp -The commands to use weapons are -.Cs W -(wear) -and -.Cs T -(take off). -.sh 2 Scrolls -.pp -Scrolls come with titles in an unknown tongue\**. -.(f -\** Actually, it's a dialect spoken only by the twenty-seven members -of a tribe in Outer Mongolia, -but you're not supposed to -.i know -that. -.)f -After you read a scroll, -it disappears from your pack. -The command to use a scroll is -.Cs r -(read). -.sh 2 Potions -.pp -Potions are labeled by the color of the liquid inside the flask. -They disappear after being quaffed. -The command to quaff a potion is -.Cs q -(quaff). -.sh 2 "Staves and Wands" -.pp -Staves and wands do the same kinds of things. -Staves are identified by a type of wood; -wands by a type of metal or bone. -They are generally things you want to do to something -over a long distance, -so you must point them at what you wish to affect -to use them. -Some staves are not affected by the direction they are pointed, though. -Staves come with multiple magic charges, -the number being random, -and when they are used up, -the staff is just a piece of wood or metal. -.pp -The command to use a wand or staff is -.Cs z -(zap) -.sh 2 Rings -.pp -Rings are very useful items, -since they are relatively permanent magic, -unlike the usually fleeting effects of potions, scrolls, and staves. -Of course, -the bad rings are also more powerful. -Most rings also cause you to use up food more rapidly, -the rate varying with the type of ring. -Rings are differentiated by their stone settings. -The commands to use rings are -.Cs P -(put on) -and -.Cs R -(remove). -.sh 2 Food -.pp -Food is necessary to keep you going. -If you go too long without eating you will faint, -and eventually die of starvation. -The command to use food is -.Cs e -(eat). -.sh 1 Options -.pp -Due to variations in personal tastes -and conceptions of the way rogue should do things, -there are a set of options you can set -that cause rogue to behave in various different ways. -.ne 1i -.sh 2 "Setting the options" -.pp -There are two ways to set the options. -The first is with the -.Cs o -command of rogue; -the second is with the -.Cs ROGUEOPTS -environment variable\**. -.(f -\** On Version 6 systems, -there is no equivalent of the ROGUEOPTS feature. -.br -.)f -.br -.sh 3 "Using the `o' command" -.pp -When you type -.Cs o -in rogue, -it clears the screen -and displays the current settings for all the options. -It then places the cursor by the value of the first option -and waits for you to type. -You can type a \*R -which means to go to the next option, -a -.Cs \- -which means to go to the previous option, -an \*E -which means to return to the game, -or you can give the option a value. -For boolean options this merely involves typing -.Cs t -for true or -.Cs f -for false. -For string options, -type the new value followed by a \*R. -.sh 3 "Using the ROGUEOPTS variable" -.pp -The ROGUEOPTS variable is a string -containing a comma separated list of initial values -for the various options. -Boolean variables can be turned on by listing their name -or turned off by putting a -.Cs no -in front of the name. -Thus to set up an environment variable so that -.b jump -is on, -.b passgo -is off, -and the -.b name -is set to \*(lqBlue Meanie\*(rq, -use the command -.nf -.ti +3n -% setenv ROGUEOPTS "jump,nopassgo,name=Blue Meanie"\** -.fi -.(f -\** -For those of you who use the Bourne shell sh (1), the commands would be -.in +3 -.nf -$ ROGUEOPTS="jump,nopassgo,name=Blue Meanie" -$ export ROGUEOPTS -.fi -.in +0 -.)f -.sh 2 "Option list" -.pp -Here is a list of the options -and an explanation of what each one is for. -The default value for each is enclosed in square brackets. -For character string options, -input over forty characters will be ignored. -.ip "\fBjump\fP [\fI\^nojump\^\fP]" -If this option is set, -running moves will not be displayed -until you reach the end of the move. -This saves considerable CPU and display time. -This option defaults to -.i jump -if you are using a slow terminal. -.ip "\fBpassgo\fP [\fI\^nopassgo\^\fP]" -Follow turnings in passageways. -If you run in a passage -and you run into stone or a wall, -rogue will see if it can turn to the right or left. -If it can only turn one way, -it will turn that way. -If it can turn either or neither, -it will stop. -This algorithm can sometimes lead to slightly confusing occurrences -which is why it defaults to \fInopassgo\fP. -.ip "\fBskull\fP [\fI\^skull\^\fP]" -Print out the skull at the end if you get killed. -This is nice but slow, so you can turn it off if you like. -.ip "\fBname\fP [account name]" -This is the name of your character. -It is used if you get on the top ten scorer's list. -.ip "\fBfruit\fP [\fI\^slime-mold\^\fP]" -This should hold the name of a fruit that you enjoy eating. -It is basically a whimsey that rogue uses in a couple of places. -.ip "\fBfile\fP [\fI\^~/rogue.save\^\fP]" -The default file name for saving the game. -If your phone is hung up by accident, -rogue will automatically save the game in this file. -The file name may start with the special character -.Cs ~ -which expands to be your home directory. -.sh 1 Scoring -.pp -Rogue maintains a list -of the top scoring people or scores on your machine. -If you score higher than someone else on this list, -or better your previous score on the list, -you will be inserted in the proper place -under your current name. -.pp -If you quit the game, you get out with all of your gold intact. -If, however, you get killed in the Dungeons of Doom, -your body is forwarded to your next-of-kin, -along with 90% of your gold; -ten percent of your gold is kept by the Dungeons' wizard as a fee\**. -.(f -\** The Dungeon's wizard is named Wally the Wonder Badger. -Invocations should be accompanied by a sizable donation. -.)f -This should make you consider whether you want to take one last hit -at that monster and possibly live, -or quit and thus stop with whatever you have. -If you quit, you do get all your gold, -but if you swing and live, you might find more. -.pp -If you just want to see what the current top players/games list is, -you can type -.ti +1i -.nf -% rogue \-s -.br -.sh 1 Acknowledgements -.pp -Rogue was originally conceived of by Glenn Wichman and Michael Toy. -Ken Arnold and Michael Toy then smoothed out the user interface, -and added jillions of new features. -We would like to thank -Bob Arnold, -Michelle Busch, -Andy Hatcher, -Kipp Hickman, -Mark Horton, -Daniel Jensen, -Bill Joy, -Joe Kalash, -Steve Maurer, -Marty McNary, -Jan Miller, -and -Scott Nelson -for their ideas and assistance; -and also the teeming multitudes -who graciously ignored work, school, and social life to play rogue -and send us bugs, complaints, suggestions, and just plain flames. -And also Mom. -.pp -The public domain version of rogue now distributed with Berkeley UNIX -was written by Timothy Stoehr. diff --git a/rogue/machdep.c b/rogue/machdep.c index e6d6292d..e80327e5 100644 --- a/rogue/machdep.c +++ b/rogue/machdep.c @@ -99,6 +99,7 @@ __RCSID("$NetBSD: machdep.c,v 1.20 2012/12/01 11:37:27 mbalmer Exp $"); #include #include #include +#include #ifdef UNIX_BSD4_2 #include diff --git a/rogue/play.c b/rogue/play.c index 04f8a89f..0527df3e 100644 --- a/rogue/play.c +++ b/rogue/play.c @@ -55,6 +55,8 @@ __RCSID("$NetBSD: play.c,v 1.10 2019/02/03 03:19:25 mrg Exp $"); #include "rogue.h" +#define __unreachable() __builtin_unreachable() + boolean interrupted = 0; static const char unknown_command[] = "unknown command"; -- cgit v1.2.3-56-ge451