Commit Graph

127 Commits

Author SHA1 Message Date
jsm d3579258c9 Use a lookup table to identify whether objects are plural or singular,
instead of testing the final character against 's' in each place.
Avoids oddities about "pot of jewels" and "compass".
2000-09-23 19:23:57 +00:00
jsm 05ca74ab1c Don't say "Kicked." of an object not present; give sensible messages.
From OpenBSD.
2000-09-22 12:38:10 +00:00
jsm 016903dbdb Check for an object being taken not being there before checking for
whether it is too heavy or too bulky; gives a better message for "take
viper" with the viper not present.
2000-09-22 12:37:32 +00:00
jsm d67a03db02 Give appropriate messages (rather than saying nothing) if an verb is
used with "all" and nothing relevant is present.  From OpenBSD.
2000-09-22 08:19:57 +00:00
jsm 0f933d0d56 Remove all adjectives in parse(), since they are nowhere used. Fixes
crash on "carry old all" shown up by fuzz testing.  Patch from Paul
Janzen <pjanzen@foatdi.harvard.edu>.
2000-09-22 08:19:21 +00:00
jsm b283f74760 Give an appropriate error on "kill all" rather than a crash or
nonsense message.  From OpenBSD.
2000-09-22 08:18:20 +00:00
jsm 1fc5d09e80 Various improvements to parsing in battlestar, mostly from OpenBSD.
Define a constant WORDLEN.  Always use this constant and NWORD where
appropriate.

Use NWORD - 1 in battlestar.c to avoid off-by-one error.

Increment wordnumber after the INVEN verb to allow it to be followed
by a comma and other actions.

Avoid overflowing elements of the words array if input words are too
long.

Parse "," as AND except when followed by a verb, to allow such
constructions as "take foo, bar, and baz".  Trim AND AND which may
occur from the ", and" in such a list.

Avoid crashes from EVERYTHING in the wrong place by moving it to the
start of OBJECT AND EVERYTHING and NOUNS AND EVERYTHING sequences, and
trimming EVERYTHING AND EVERYTHING.
2000-09-21 17:44:34 +00:00
jsm 6d1847f667 Don't try to wear anything that isn't OBJECT or NOUNS. Don't try to
wear DOOR or anything without a short description.  Fixes crashes on
"wear knfo" (bug reported by Peter Maydell
<pmaydell@chiark.greenend.org.uk>), "wear wear", "wear kick", "wear
door" and "wear goddess".  Partly from OpenBSD.
2000-09-21 10:38:50 +00:00
jsm a4454d2982 If no hand-to-hand weapons are available, try using the laser to kill
in murder().  From OpenBSD.
2000-09-21 10:22:36 +00:00
jsm 16d8e9af6f die() on EOF; based on OpenBSD. 2000-09-21 09:49:03 +00:00
jsm 956f5c6ba6 From OpenBSD: in kiss(), "take" the bathing goddess if required, and
give a better error message if the person to kiss is not present.
2000-09-21 09:48:10 +00:00
jsm ca5dbcecd4 Add missing initialisers (avoid gcc -W warnings) and comments giving
room numbers.
2000-09-18 06:14:31 +00:00
jsm 819ea9d1a6 Clean up formatting; partly from OpenBSD. 2000-09-17 23:04:17 +00:00
jsm 31b523eee5 Patches from OpenBSD: add verbs "open"/"unlock" (essentially a no-op),
and "verbose"/"brief" (in verbose mode, always show long room
descriptions), and synonyms "papaya" for "papayas" and "coconut" for
"coconuts".
2000-09-17 23:03:43 +00:00
jsm cf35dbffa1 Based on OpenBSD: spelling, punctuation, grammar and line length
adjustments, and support for '=' in room descriptions meaning a
literal '-'.
2000-09-10 10:52:56 +00:00
jsm 3e02203ec6 Wording, punctuation and line length improvements. Also adjust test
for killing nonsensical things to fix crash with "kill door".  From
OpenBSD.
2000-09-10 10:51:16 +00:00
jsm d71839604a Make spacing nicer and add explicit NULL initializers. 2000-09-09 18:03:58 +00:00
jsm c6bbb5288d Store copy of username with strdup rather than using a fixed length
buffer.  Also make initialization functions and arrays static.
2000-09-09 09:37:58 +00:00
jsm ce85e35a32 Put prototypes in alphabetical order. 2000-09-09 09:36:23 +00:00
jsm a7c82eea02 Spelling and punctuation corrections or improvements from OpenBSD. 2000-09-08 17:25:31 +00:00
jsm af3dee978f Make code clearer; add a macro ROOMDESC for the number of times a room
should be visited for the short description only to be used, and don't
increment beenthere[position] beyond this value.  From OpenBSD.
2000-09-08 17:22:01 +00:00
jsm ec240586d1 Manpage improvements based on OpenBSD. 2000-09-08 17:18:36 +00:00
mycroft 15b7289f72 Rename move() to moveplayer() to avoid clashing with libcurses. 2000-07-23 23:57:23 +00:00
mycroft f9eca6973d Use setgid(), not setregid(). 2000-05-08 07:55:59 +00:00
jsm a5da40c55a Use err(1, NULL) and warn(NULL) for `out of memory' error messages. 2000-01-09 17:17:19 +00:00
jsm 20e3305006 Fix -Wsign-compare warnings. 1999-09-18 19:38:46 +00:00
jsm 2dae19bfbc Use strncpy() rather than strcpy() with fixed size buffer. 1999-09-18 16:47:11 +00:00
jsm e4df5a936a Add missing initialisers. 1999-09-18 16:42:29 +00:00
jsm c15fcd0e23 Add FALLTHROUGH comment. 1999-09-18 16:41:38 +00:00
jsm 57b9dc499c Give sensible error message in a shouldn't happen case. 1999-09-18 16:40:04 +00:00
jsm 5e8cc984ee Declare variables in extern.h as extern, and add non-extern
declarations to globals.c.
1999-09-14 19:54:47 +00:00
jsm 5b8f738447 Use time() instead of gettimeofday(). 1999-09-14 18:08:46 +00:00
jsm a1038d000e Fix uses of names of library functions for other purposes. 1999-09-13 17:18:56 +00:00
jsm 7dc5308d13 A couple more checks for file descriptor < 3 missed earlier. 1999-09-13 17:15:42 +00:00
jsm b03d4fa882 Add `__noreturn__' and `__unused__' attributes where appropriate to
the games.

This merges in all such remaining changes from the Linux port of the
NetBSD games, except in hunt (where substantial changes from OpenBSD
need to be looked at).

Most noreturn attributes were previously added in bin/6144, with some
others that were missed then in bin/8082.  Previous `unused'
attributes were covered in bin/6557, bin/8058 and other PRs (all these
PRs have already been handled and closed).
1999-09-08 21:45:25 +00:00
hubertf 6c243d931c This patch improves the handling of save files in battlestar(6), by
allowing the user to choose the name of the save file and specify it
on the command line when restoring.  It also eliminates a buffer
overrun in determining the path to the save file, and any particular
arbitrary limit on the name length.  In the name of a tidier home
directory, the default name is changed from "Bstar" to ".Bstar".

Patch supplied in PR 8085 by Joseph Myers <jsm28@cam.ac.uk>
Minor modification (s/startup/filename/ in initialize()) by me.
1999-07-28 01:45:41 +00:00
hubertf 054e79fedd Drop setgid privileges early. Derived from OpenBSD and sent in as PR 5970
by Joseph Myers <jsm28@cam.ac.uk>.
1999-07-21 03:56:53 +00:00
hubertf 12a0758a42 From PR 7987 by Joseph Myers <jsm28@cam.ac.uk>:
More battlestar(6) spelling and punctuation fixes for battlestar(6).
These ones come from OpenBSD.
1999-07-14 17:42:13 +00:00
simonb a2ed16d0dd initscr() returns a pointer, compare return value with NULL and not
an int.
Compatible with other versions of curses.
1999-04-18 03:30:12 +00:00
hubertf dab3a74af9 Fix object recognition, per PR 6048 by Joseph S. Myers <jsm28@cam.ac.uk>. 1999-03-25 16:46:08 +00:00
hubertf bd8be7848a Const poisoning, per PR 6660 by Joseph Myers <jsm28@cam.ac.uk> 1999-02-10 01:36:50 +00:00
hubertf 1c9494f62b mark non-returning functions (PR#6144 by Joseph Myers <jsm28@cam.ac.uk>) 1998-09-13 15:27:25 +00:00
hubertf ade2d3629c add sanity checks when saving/restoring games (PR#6138 by Joseph Myers <jsm28@cam.ac.uk>) 1998-09-13 15:24:41 +00:00
frueauf e5512611f3 Fix typo, closes pr 6137 by Joseph Myers. 1998-09-10 21:50:35 +00:00
veego 04afeca685 Add braces to make the new egcs happy. 1998-08-30 09:19:36 +00:00
hubertf e16198b7d4 DTRT if "give" is invoked without arguments. Fix contributed by Joseph S.
Myers <jsm28@cam.ac.uk>, closeds PR 6049.
1998-08-29 19:58:12 +00:00
hubertf 62afb47308 Don't allow empty "give" command (without arguments).
Fixes PR 6049 by Joseph Myers <jsm@octomino.demon.co.uk>.
1998-08-28 00:44:31 +00:00
hubertf 13091fe5b7 Untakable objects are marked with NULL pointers, not empty strings,
resulting in core dumps. Fixed as per PR 6006 by Joseph Myers
<jsm28@cam.ac.uk>.
1998-08-24 00:25:32 +00:00
hubertf 2f4d86d39f Propperly note place-change, as reported in PR 6008 by Joseph Samuel Myers
<jsm28@cam.ac.uk>
1998-08-24 00:22:45 +00:00
hubertf 99c239447e Initialize return-value correctly as pointed out in PR 6007 by
Joseph Myers <jsm@octomino.demon.co.uk>.
1998-08-24 00:19:25 +00:00
hubertf f62b88952a Fix some spelling errors reported by Joseph Myers <jsm28@cam.ac.uk>
in PR 5842.
1998-07-25 10:58:03 +00:00
mrg 7ed858277a - really make extern char's extern. 1998-03-29 04:46:40 +00:00
jtc 2065ddb3da Simply include -lcurses instead of -lcurses -ltermcap 1998-02-18 22:37:30 +00:00
christos cb47578732 Use -ltermcap instead of -ltermlib 1998-02-05 12:15:51 +00:00
perry 75a6e03535 change includes to fix compiler warning 1998-02-03 04:55:59 +00:00
mrg 6074e1b476 install games that need it setgid. 1997-11-20 00:12:30 +00:00
cjs c13728a5bc time_t != long; fix minor type problem. 1997-10-13 21:05:36 +00:00
lukem 43bcc6ff05 missed a couple of clock->ourclock and time->ourtime variable renames 1997-10-12 02:06:15 +00:00
lukem 31c7a7bec5 KNFify (with indent) 1997-10-11 02:06:55 +00:00
lukem b6068ea04b WARNSify 1997-10-10 11:39:08 +00:00
tls 52e0d8714d sigh, fix RCS ID again 1997-01-07 12:41:18 +00:00
tls 82c018889c RCS ID Police 1997-01-07 12:35:42 +00:00
tls 34cd8f5bdf Sync to 4.4BSD-Lite2 1997-01-07 11:56:32 +00:00
tls bd34844797 Import from 4.4BSD-Lite2 1996-12-28 19:09:10 +00:00
mycroft ca2582cf11 Use POSIX signal and tty semantics. 1995-04-27 21:22:19 +00:00
cgd c4816c32b3 Various changes to make games compile w/o warnings on the alpha:
Include appropriate includes, delete bogus function declarations,
change sizes of variables and casts.
1995-04-24 12:21:37 +00:00
jtc ae0b9c2010 KERNEL -> _KERNEL 1995-03-28 17:18:59 +00:00
cgd 101657d110 clean up import 1995-03-21 15:03:38 +00:00
jtc e6371e01f3 change <sys/signal.h> to <signal.h> 1995-02-28 18:30:59 +00:00
cgd c4c01d75b2 specify man pages the new way. 1994-12-22 09:31:26 +00:00
jtc d557325774 update to -mandoc macros 1993-08-05 16:40:44 +00:00
mycroft 8542364e07 Add RCS identifiers. 1993-08-01 18:49:50 +00:00
mycroft b1bd4afedc Add RCS indentifiers. 1993-08-01 07:42:49 +00:00
mycroft cda4f8f6ee Add RCS identifiers. 1993-08-01 05:37:30 +00:00
mycroft d7d27f447d Initialize locations before checking wizard mode. 1993-04-19 11:10:01 +00:00
cgd f620d7d9f6 got rid of unnecessary -lcompat and associated dependency 1993-03-23 02:44:38 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00