Commit Graph

73 Commits

Author SHA1 Message Date
cohrs
559be58c21 conflicting delayed killers
Introduce a new set of functions to manage delayed killers in the trunk, used
in addressing the various reports of delayed killer confusion.  Since existing
delayed killers are related to player properties, the delayed killers are
keyed by uprop indexes.  I did this to avoid adding yet another set of
similar identifiers.
- the new delayed_killer() is used for stoning, sliming, sickness, and
delayed self-genocide while polymorphed.  Some other timed events don't
use it (and didn't use the old delayed_killer variable) because they
use a fixed message when the timeout occurs.
- A new data structure, struct kinfo, is used to track both delayed and
immediate killers.  This encapsulates all the info involved with
identifying a killer.  The structure contains a buffer, which subsumes the
old killer_buf and several other buffers that didn't/couldn't use killer_buf.
- the killer list is saved and restored as part of the game state.
- the special case of usick_cause was removed and a delayed killer list
entry is now used in its place
- common code dealing with (un)sliming is moved to a new make_slimed function
- attempted to update all make dependencies for new end.c -> lev.h
dependency, sorry if I messed any up
2003-09-29 19:24:20 +00:00
kmhugo
3cd543ce74 lint tidbit 2003-09-28 00:10:23 +00:00
cohrs
db011864c0 U651 - avoid declaring errno unnecessarily
Some changes for standard C platforms, to avoid declaring errno explictly.
Such platforms should declare errno in errno.h, which is already included
in the files in question.
2003-09-24 02:12:22 +00:00
cohrs
2d59f9d8db context build changes for Unix
- removed an extraneous space from Makefile.src that confused GNU make
- unixmain.c still had a couple uses of flags.move
2003-09-22 05:21:53 +00:00
nethack.allison
18e971e442 trunk only: preserving context (sys files)
Pat Rankin wrote:
> collect them all into some new struct and
> save that separately rather than jamming more non-option stuff
> into struct flags.

This patch:
- collects all context/tracking related fields from flags
  into a new structure called "context."
It also adds the following to the new structure:
- stethoscope turn support
- victual support
- tin support
2003-09-21 11:56:11 +00:00
cohrs
40b5b12673 SAFERHANGUP
This is an initial round of SAFERHANGUP hangup changes.  It introduces
SAFERHANGUP, provides the core framework, and enables it for UNIX.

Window-port changes are provided for win/tty, win/X11 and win/gnome.  Qt
changes should be forthcoming after having Warwick look at them.
window.doc is updated so windowport maintainers have an clue what needs to
be done to support SAFERHANGUP.
2003-09-19 03:15:49 +00:00
warwick
0460cc9824 MacOSX can handle >14 character names.
I think the #if is inverted really - what DOES have that limit?
2003-09-11 04:23:52 +00:00
warwick
a80481a5e7 Avoid unixisms. On MacOSX, we cannot assume that the user will use
a command-line option to set their name. Normally they will type
a name if asked - but they won't be asked if we pull their username
as a name.
2003-09-11 04:22:55 +00:00
warwick
656fe3689d Rule for tile2cmp.o needed. 2003-09-11 04:21:12 +00:00
cohrs
0d2ff02af3 README.linux sync
update the README.linux to correspond to the version that was included
in the 3.4.2 binary distro.
2003-09-03 01:22:09 +00:00
cohrs
648b1489a4 X11 install
Build and install the NetHack.ad file, and change the nethack.sh to append
the HACKDIR to the XUSERFILESEARCHPATH.  This means users do not have to
do anything special to use the NetHack X11 resources, nor does it require
teaching nethack where the X11 app-defaults directory is.  The change also
updates the X11 and linux doc files in a corresponding way.
2003-08-26 15:11:58 +00:00
cohrs
c954ee8a10 U555 - solaris compilation bits
- If you have Gnome installed on solaris, the GETRES support wouldn't build.
I don't have access to a solaris system with Gnome installed, but hacked
unixconf.h to force the GETRES code itself to be compiled.  So, I believe the
unixres.c change will work for folks really using Gnome on Solaris.
Whether the rest of the gnome code will build there is beyond me.
- I accidentally left TIMED_DELAY defined and the Solaris build failed.
While solaris has usleep(), this is not part of SVR4 as far as I can tell.
But, SysV does have poll, so I implemented msleep() for SysV systems in
terms of poll.  So, you can now define TIMED_DELAY on any SYSV build.
2003-07-30 23:19:56 +00:00
cohrs
d5ad0b62b6 yet another README.linux update
clarify the installation of NetHack.ad as NetHack.
2003-07-15 00:36:50 +00:00
cohrs
362518c3ac BSD and POSIX
Finally got around to installing OpenBSD (rev 3.3) in a vmware partition.
Found that several #if BSD's were inappropriate for modern BSD's.  Haven't
installed FreeBSD or NetBSD, but based on reading their man pages,
these changes are needed there too.  Mostly due to POSIX time() signature.
2003-07-06 22:06:46 +00:00
jwalz
85c062ce47 Document the process of fighting a cross-compile into submission. 2003-07-05 23:20:22 +00:00
cohrs
a686589b1f guidebook building command
I found that the setting of GUIDECMD sys/unix/Makefile.doc didn't cut
it with groff-1.18.  Also, the command was duplicated in the rule to
generate Guidebook.txt.
2003-06-12 05:16:20 +00:00
jwalz
be7e8373f4 That one $(LD) needs to be an $(LD). $(CC) will link in the non-shared
C library and cause problems with address space for something NetHack's
size.
2003-05-28 17:33:54 +00:00
warwick
47bbe26073 Unify usage of $(CC) vs. $(LD) for linking to always $(LINK), set
to $(CC) by default.
Necessary for C++ builds where the C++ compiler driver must be used
to link, adding libraries that the C compiler driver does not know
about.
2003-05-28 05:36:57 +00:00
cohrs
b8e3cc2b77 another README.linux update
Make the instructions a bit more blow-by-blow.  Re-order them so they
correspond to the Install.unx step numbers.  Explicitly refer to
Install.unx and Install.X11 where appropriate.
2003-05-17 20:35:07 +00:00
cohrs
549736e688 narrative linux install instructions
try to give an example showing actual commands to make it more obvious
exactly how the linux tarball gets installed
2003-04-04 02:00:35 +00:00
cohrs
f6f89a2075 someone finally was confused by glibc 2.2.93 before e-mailing devteam
about README.linux.  Try to clarify the confused version number.
2003-03-21 04:16:08 +00:00
cohrs
f60f576727 Building src objects via Makefile.utl
<Someone> noticed that if one builds something in util and the required .o
files aren't already built in src, the .o gets placed in the wrong place.
Added the missing '-o $@' to the compilation command.
2003-03-02 06:21:29 +00:00
cohrs
b6da412ef1 U277 - Gnome compilation on Redhat 7.2 & 8.0
Reported on RH 7.2 and 8.0.  Compilation failed because system headers that
needed _GNU_SOURCE on these Redhat versions got included before it was
defined.  To ensure _GNU_SOURCE is defined, added an autodetect for it to
config1.h and removed the need to set it in unixres.c.  __linux__ is also
checked elsewhere.
2003-03-02 06:07:19 +00:00
cohrs
bbb6a45c34 minor Unix Makefile mod
I just noticed that the installed owner/group of "recover" was not being
set correctly.  This has no important effect, but does look funny.
2003-02-21 04:32:29 +00:00
cohrs
c6cbe125de updating official Linux binary
I'm updating the official binary to be built on a Redhat 8.0 system.  This
should give the binary some legs if we take a while to get the next release out.
2003-02-21 04:02:38 +00:00
cohrs
500df8346a line length bit 2003-02-12 03:57:41 +00:00
cohrs
1b017f6154 unix dependency update for 3.4.1
should now be up to date unless someone makes a material change to includes
2003-02-12 03:37:58 +00:00
warwick
6215f16d7a Build rules for files needed by MacOSX
(actual files checked into win/Qt/ accidentally already)
2002-11-27 07:27:28 +00:00
nethack.rankin
a0067f97e2 luck artifact dependencies
Instead of adding a new artifact.h to pray.c, remove the existing
ones from attrib.c, invent.c, and mkobj.c.  This also updates the Unix
and VMS editions of Makefile.src; having stale dependencies in those
for other ports could cause unnecessary recompilation but can't break
anything in this case.
2002-10-09 07:06:08 +00:00
warwick
b4cde57ce7 Allow object files for utilities to be separate from the game object
files (essential for cross-compiling).
2002-08-14 05:04:09 +00:00
warwick
da2423c528 Linux and SVR4 don'thave 14-character filename limits.
Re-factor the #defines while I'm at it.
2002-07-04 06:23:42 +00:00
warwick
3c043bc008 Make problem of zero-sized .moc file less likely.
(<Someone> reported problem that was obscured by an empty .moc file
being created in a failed build)
2002-07-01 05:35:02 +00:00
warwick
f3b5cb519f How to make nhtiles.bmp
(and also my little tileedit utility)
2002-07-01 05:26:57 +00:00
warwick
82668439f7 nhtiles.bmp may be needed (eg. Qt windowport) 2002-07-01 05:23:47 +00:00
cohrs
60e26a84ae NOCWD_ASSUMPTIONS followup
Michael's VAR_PLAYGROUND update
2002-06-29 15:12:15 +00:00
cohrs
310e466162 more portable Gnome uid workaround
- incorporate a more portable way of calling the real getres*id() functions
on Linux platforms that uses the glibc interface rather than calling
the system call directly.  The previous version didn't work on ia64 linux.
2002-04-21 23:59:52 +00:00
cohrs
b1055ae7c1 Gnome updates (from <Someone> <Someone> Simon)
- fix destruction of primary game windows
- One, it makes the color of the cursor box dynamic (these are the gnmap.c
changes), based on hp/hpmax (continuous colors white -> yellow -> red ->
magenta rather than discrete like in Qt).
- Two, it adds a new window, NHW_WORN (all the other changes and new files
gnworn.[ch]), placed at the end of the first row, to the right of the status,
with tiles of all the items currently equiped.  I had to change the spacing of
the first row (no longer homogeneous) to accomodate this, but I think it still
looks okay.  It's mostly like the Qt version but the equiped items are in
slightly different places, and a bit more compactly (added quiver, ball/chain,
monster skin armor; see the definition in gnworn.c for the layout).
2002-04-21 17:09:34 +00:00
cohrs
05fb883473 unix: install recover command by default
- Update Makefile.top to do the deed
- Update Install.unx and README.linux to reflect the changed install procedure
2002-04-07 19:05:07 +00:00
nethack.allison
14ec6fe03b some 3.4.1 preparation
Update patchlevel.h
Update some strings from 3.4.0 to 3.4.1.
2002-03-29 06:30:33 +00:00
cohrs
9138c5daf3 missing linux build package dependency bit 2002-03-25 07:37:39 +00:00
cohrs
a305cc097e README.linux sync
- forgot to apply this change before making the 3.4.0 binary (it was
actually built using these settings).  It's safer for the game itself to be
non-group writable so that someone on a public server can't exploit a
bounds checking or similar error to infect the executable itself with
a trojan horse.
2002-03-23 21:58:42 +00:00
jwalz
545132999d <Someone>'s changes for the makefiles. 2002-03-20 03:30:45 +00:00
cohrs
48049de0ba Gnome basic functionality
- Makefile.src update for new dependency
2002-03-17 22:36:57 +00:00
cohrs
b6189efe2a X11 wide tilemap support
- support X11 tile files (with or without XPM) that are 40 tiles wide
- rearrange some X11 code to share more code between XPM & non-XPM options
- clean out some deprecated X11/winmap.c #ifdefs
- update Qt code minimally to handle such an XPM file
2002-03-17 20:02:47 +00:00
jwalz
bab78d03c8 Lint part 1, unused variables, routines, and return codes. 2002-03-10 00:30:53 +00:00
cohrs
a35ca5e744 parallel unix make bits
- Pat noticed that makedefs -z makes both vis_tab.[ch], but they could be
built by two makes via make -j, causing corruption
- make -j at top level failed for similar reasons, added several
dependencies to ensure a valid ordering
- these changes will cause extra things to be built if you "make"
individual targets at the top level, but have little effect it you're a
real power user and "make" the actual target in the right directory
2002-03-09 06:41:49 +00:00
jwalz
c7325ee019 Run 'make depend', after fixing up output. 2002-03-09 03:13:18 +00:00
cohrs
e22c225c4e provide linux build instructions in the source distro 2002-03-08 23:41:57 +00:00
nethack.rankin
1797be7026 Makefile.src bit
Make it easier to follow the directions about commenting out
extra copies of tile.o when multiple windowing interfaces contain it.
2002-03-03 04:52:06 +00:00
cohrs
d1d6455534 Linux build updates
- A few Makefile changes to reflect current(?) paths on Linux
- Linux mail reader is /bin/mail
2002-03-02 22:43:39 +00:00