Commit Graph

28 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
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
nethack.allison
a091428423 win32 (from Yitzhak)
>The attached is a patch for the makefiles and .rc that makes
>Borland compile. Files modified: sys/winnt/Makefile.bcc - changes
>Makefile so dependencies on dlls are removed for console, adds
>gamedir.tag sys/winnt/Makefile.msc - changes the Makefile a bit to
>make it dependent on gamedir.tag in both gui and console, and make
>the dlls a dependency only in console but without the !IF for
>$(GAMEFILE). The .rc format is made workable for both Borland and
>MSC. win/win32/winhack.rc - makes FONT format Borland compatible
2003-06-03 10:09:07 +00:00
nethack.allison
6406ef5f93 Add <Someone>'s key handling as loadable handler 2003-05-11 23:25:08 +00:00
nethack.allison
5311cce717 From Yitzhak
(2 troublesome bands removed
and will follow later)
Here's the new patch with the Windows improvements; this should apply to the
3.4.2 tree. Note the changed filename in the diff lines.
What's in it:
> some MessageBox tidbits:
> - Let all MessageBoxes display an icon
> - Introduced NHMessageBox to have messageboxes display a consistent title
> - Change icon in mswin_display_file from MB_ICONERROR to MB_ICONEXCLAMATION
> for non-fatal error
>
> And to solve #U355: NetHackW won't run on Win2K OS:
> - Avoid a crash when closing the main window while the splash screen is
> displayed.
> - Make sure NetHack starts normal when closed minimized
> - Center the splash screen on the screen, not on the parent window (which may
> be off-screen)
What's new in it:
- Show copyright banner in textbox in splash screen instead of over the picture
- Show news in splash screen only if iflags.news (solves W341-6)
- show complete version information in splash screen when it is used as about
box
2003-03-23 19:03:08 +00:00
nethack.allison
d560815b96 win32 Makefile.msc follow up bit 2003-03-13 20:31:19 +00:00
nethack.allison
5e273e0676 win32 Makefile.msc updates 2003-03-13 20:19:41 +00:00
nethack.allison
56585d286f win32tty: dynamic keystroke handler with 3.4.0 behaviour 2003-03-09 18:36:24 +00:00
nethack.allison
78ce3749dc win32tty keystroke handling
- Move the code for keystroke handling into its own source file.
- Compile and link it as a dynamic link library.
- Dynamically load the keystroke handler at runtime
- Add support for specifying a different handler in defaults.nh
  so that internationalization issues can be dealt with without
  rebuilding nethack, just supply alternative handlers in HACKDIR.

The following exported functions need to be present in
the keystroke handler .dll:
ProcessKeystroke - returns an ascii value to NetHack
NHkbhit  - allows peeking to see if a key/mouse press is waiting
SourceWhere - returns location for souce code for a keystroke handler
SourceAuthor  - returns author information for a keystroke handler
KeyHandlerName  - returns the full or short name of the keystroke handling dll.
2003-03-09 15:44:50 +00:00
nethack.allison
ea4bfa168c more win32 Makefiles
update depend substitution instructions.
2003-02-19 14:20:47 +00:00
nethack.allison
73d357a647 win32 and msdos recover
Since the ports have SELF_RECOVER defined,
remove the build of recover.exe from the default steps.
You must explicitly use 'make recover' now.
2003-02-17 23:56:40 +00:00
nethack.allison
2d99cb7ed7 win32 and DOS dependency update for 3.4.1 2003-02-14 03:38:50 +00:00
nethack.allison
83b2e1eb66 beta 17 2003-01-11 18:05:29 +00:00
nethack.allison
92206d8f8b more win32 build updates (from <Someone>) 2002-12-11 03:12:44 +00:00
nethack.allison
bea789ea2d win32 updates (from <Someone>)
- restructured Install.nt quite a bit. It now contains instructions
to build a graphical nethack using NMAKE, too. I merged
the instructions for command line builds, and separated the IDE
build; that made more sense to me. It is shorter, too.
- added some lines to all Makefiles so they now build
NetHackW.exe when GRAPHICAL is "Y", and NetHack.exe
otherwise. I espacially did not test this on Borland.
Previously, the makefiles would always build NetHack.exe.
- changed the IDE files to build NetHackW.exe instead of
nethackw.exe. This is only cosmetic, but consistent with the
other executable.
- made a small change to pcmain.c, as the MinGW linker
cannot decide between main() and WinMain() when both are
present, as explained in <Someone>'s original
message. (I used a #ifndef instead of comments ;-)
The MinGW graphical build indeed seems to work.
2002-12-09 03:12:47 +00:00
nethack.allison
6bebdbb135 win32 USER_SOUNDS
This uses pmatch() as a default pattern matcher,
and #defines USER_SOUNDS_REGEX for Qt
to enable the code for regular expressions.

This is enabled for win32tty and win32gui.
2002-09-02 23:28:54 +00:00
nethack.allison
e7407addc5 win32tty follow-up, Makefile change 2002-08-23 19:25:17 +00:00
nethack.allison
46d1595c67 sys/winnt more macro mods
(Sorry, but checking these in is the only way to see the results)
2002-07-24 08:25:21 +00:00
nethack.allison
05c0d2cb9a sys/winnt change SCCS to Id macro 2002-07-24 07:34:02 +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
nethack.allison
382b04e900 fix Makefile typos for uudecode 2002-03-24 19:51:01 +00:00
nethack.allison
a9a0898d1a Make header in file match the file name 2002-03-24 18:58:05 +00:00
nethack.allison
6c749785e8 Move tile2bmp.c to win/share
This is so it can be shared with Qt.
If, for some reason, we have to cut another source tarball for
3.4.0, then this will be included.  Otherwise, this will
turn out to be a post-3.4.0 patch.
2002-03-14 12:54:06 +00:00
nethack.allison
a6a209edea A couple of patches are required unfortunately
Unfortunately a couple of glitches were encountered during the build of
the DOS binary.

Also, somewhere along the way the ability to separate the debug info
for the win32 tty binary into its own PDB file was removed from
Makefile.msc.  I wasn't aware of that until I went to build the binary,
and discovered that I had no PDB file to stow away for bug
reports.
2002-03-13 07:14:24 +00:00
nethack.allison
6f210425b1 Add win32 port help support. 2002-03-10 22:30:47 +00:00
nethack.allison
62ea5a9345 Makefile fix following depend. changes 2002-03-10 13:31:51 +00:00
nethack.allison
2e6f957afe Update the dependencies in win32 2002-03-10 04:15:43 +00:00
nethack.allison
b3452e1ca2 win32: Consistent Makefile naming now that we have at least 2
Makefile.nt -> Makefile.msc
2002-03-06 18:54:13 +00:00