Commit Graph

42 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
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
nethack.allison
99bcdf6a4e expand wincap options to second field
<Someone> wishes to add a couple of new options to the wince port ("run fullscreen" and "do not use CE software keyboard").

The wincap field was full, so this adds a second field for
additional options.
2003-07-17 01:35:31 +00:00
cohrs
1783623cb4 more gnome compilation problems
a typo kept gnstatus.c from compiling w/GOLDOBJ defined
2003-03-24 22:12:32 +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
88f0680567 restore support for non-square XPM-based tiles (X11 & Gnome)
- change the way the tile sizes are calculated, based on the image size,
so non-square tiles can once again be supported.
- fix Gnome port so it can actually display non-square tiles, several
height/width uses were backwards
- update Install.X11 to note the number of tiles per row in the XPM image
2002-03-24 00:04:41 +00:00
cohrs
bdfcd6915e Gnome player selection
- provide full 3.4-style player selection, based on tty_player_selection
- generalize selection dialog so it can be used for all 4 prompts
2002-03-19 08:27:55 +00:00
cohrs
61b6bf1ce9 Gnome basic functionality
- let the "#" key work as per Guidebook
- role selection didn't work if you had gender specified in your .nethackrc
  similar problems would occur for other .nethackrc selections
- fix an obvious memory leak
- fix one crash bug from accessing a freed pointer (M-? dismiss M-?)
- note some invalid behavior in comments for a real Gnome developer to fix
- reformatted some code so I could follow it
2002-03-17 20:16:57 +00:00
cohrs
0ffb78e6a4 X11 wide tilemap support - Gnome patch
- update Gnome code to support a 40 tile wide XPM file
2002-03-17 20:04:56 +00:00
nethack.allison
742e1e8c90 3.3.2 to 3.4.0 2002-02-04 16:11:00 +00:00
nethack.allison
cb6a93641b Adjust window-port related option processing
to allow common parsing in the core, and direct access to the
results by the window port.

Notes:

o Adds a new field, wincap, to the window_procs
structure for setting bits related to the preference
features that the window port supports.  This allows
run-time determination of whether a particular option
setting is applicable to the running window port.  A
window-port is free to support as many, or as few,
of the available options as it wants.  Ensure that
only the ones supported have their corresponding bit
set in window_proc.wincap. [see chart in
doc/window.doc for help with that.]

o The settings I stuck into wincap for each window
port are almost certainly not accurate, so each port
team should review them.  You should only include
the ones that you will actually react to and make
adjustments for if the user changes that option.
Without the setting in wincap, the option won't even
show up in the 'O'ptions menu.

o preference_update() added to the window-port
interface, so that the window-port can be notified
if an option of interest (an option with its
corresponding bit set in wincap field) is
changed.

o provided a genl_preference_update() routine in
windows.c and used it for all the existing
window ports since they don't have a functional
one of their own yet.

o this messes around heavily with iflags and the options
arrays in options.c

o I hope I didn't break any port's existing code. I
tried not to.  The Mac however, in particular, should
be looked at because it suffered a namespace collision
with what I was working on around fontname.  It had
Mac specific font stuff in options.c. Please test
the Mac.
2002-02-03 05:31:47 +00:00
cohrs
c77073be31 sync changes since last snapshot 2002-01-07 02:12:04 +00:00
jwalz
589bd2dec7 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
121e5f1f18 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
cc7dd25c97 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
f55ddf856b *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
a87456756a *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
4bcf6794e7 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
da07cd55c7 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
ae3d08e8ea *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
78f6b383e9 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
4da3c3bf19 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
9931f63016 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
5e8ea29914 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
255f9c719f *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
301271044b *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
36366da6f4 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
210c385791 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
23264f4cdb *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
8d4123f32b *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
e347141976 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
9a99748a30 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
10247b2a7a *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
1a0f36390c *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
ac1fdd4511 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
47d5145936 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
3a794198b9 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
424d892248 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
74975f0983 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
b4ef46f3c6 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
3d0c686f60 *** empty log message *** 2002-01-05 21:06:01 +00:00
jwalz
a0d0e98c26 *** empty log message *** 2002-01-05 21:06:01 +00:00