Commit Graph
100 Commits
Author SHA1 Message Date
nethack.allison d21d3d5ca8 elven boots
<email deleted> wrote:
> While levitating, I put on an unknown pair of boots.  They turned out to be
> elven boots.  I received the message, "You finish your dressing maneuver.  You
> walk very quietly."  Incidentally, I was hallucinating at the time.
>
> It seems to me that levitating individuals shouldn't be able to tell that they
> walk quietly.
2006-05-19 18:35:11 +00:00
nethack.allison a6c608403b grammar bit
<Someone> wrote:
> You find an anti-magic field.
> Where do you want to jump?  (For instructions type a ?)
> You pass right over _a_ anti-magic field.
2006-05-17 20:15:46 +00:00
nethack.allison 1fcbfd85c9 additonal oextra care
Be deliberately careful with copies taken of
oextra pointers and clear the pointer if it
truly is a redundant copy that will become
invalid if/when the original holder is deallocated.
2006-05-13 20:19:06 +00:00
nethack.allison b660a0b079 xorn comment 2006-05-12 02:27:52 +00:00
nethack.allison 6f9da60b95 Delphi follow-up 2 (trunk only)
oops, Pat pointed out that I altered the logic.
2006-05-12 01:59:56 +00:00
nethack.allison 4e2b302368 Delphi follow-up (trunk only) 2006-05-11 21:22:06 +00:00
nethack.allison 45b59990cd Delphi msg (trunk only)
<email deleted> wrote:
> * Angering the Oracle then entering her room still gives
> "Hello, <Dudley>, welcome to Delphi!"
2006-05-10 23:13:28 +00:00
nethack.allison e0e3bf2453 selling candelabrum in lighting store
<email deleted> wrote:
> * You can't sell a candelabrum (with candles attached) to a lighting store.

You still can't sell the candelabrum after this, but acknowledge
the situation by having Izchak say something unique.
2006-05-10 03:31:53 +00:00
nethack.allison 52586db3ae set_corpsenm()
Provide a common routine that always does the right
thing with respect to timers and weight when altering
obj->corpsenm, and use it throughout the code.
2006-05-09 23:10:22 +00:00
nethack.allison c0731a8809 #H85: create_object() bugs
From a bug report.c was first creating  a corpse
complete with revive timer if it was a troll, or without
a timer if it was a lizard or lichen corpse. Then it might
change the corpse type, leaving strange corpse
types that revived, or that lasted forever.
2006-05-09 01:31:55 +00:00
nethack.allison 1a01343c63 dungeon open failure
We've been getting numerous complaints from people
about "dungeon failure", often related to attempts
to start NetHack from within various zip utilities
that present a folder-like view.

The dungeon failure was actually misleading. The
real problem was a dlb file open failure, but the
return value of dlb_init() was not being checked
in pcmain.

This moves the dlb_init earlier in the startup,
checks for failure, and provides some feedback
around the common zip utility problem for win32.
2006-05-07 14:32:04 +00:00
nethack.allison 13944ab03b win32 Makefile updates
- DLB wasn't defined during util builds, including makedefs.
- spotless wasn't spotless
2006-05-06 19:13:35 +00:00
nethack.allison a3b216e475 work around win32 rumor issues (#H80)
With makedefs changed to open the files as binary, the
rumors generation and retrieval seems to work consistently.

win32tty
T start=000067 (000043), end=020658 (0050b2), size=020591 (00506f)
F start=020658 (0050b2), end=043641 (00aa79), size=022983 (0059c7)
T 000067 A blindfold can be very useful if you're telepathic.
F 020658 "So when I die, the first thing I will see in heaven is a score list?"

win32gui
T start=000067 (000043), end=020658 (0050b2), size=020591 (00506f)
F start=020658 (0050b2), end=043641 (00aa79), size=022983 (0059c7)
T 000067 A blindfold can be very useful if you're telepathic.
F 020658 "So when I die, the first thing I will see in heaven is a score list?"
2006-05-02 22:10:54 +00:00
nethack.allison e80408bec2 wizrumorcheck update for trunk 2006-05-02 12:50:09 +00:00
nethack.allison 376f9ba047 debug mode #wizrumorcheck
Provide a command to easily verify that the rumor true/false
boundary offsets are correct for the rumors file.
If the boundary is pointing mid-line, the rumor at the boundary
won't decrypt properly.
2006-05-01 01:49:18 +00:00
nethack.allison 10066ff08e guidebook autopickup_exceptions
autopickup_exceptions is no longer in the experimental section of config.h
2006-04-30 17:55:09 +00:00
nethack.allison 3e2f7f946d fix W343-1 open win32 bug from known bugs page
W343-1 Redirecting score output through a pipe doesn't work.
2006-04-25 01:16:54 +00:00
nethack.allison 660d3589c5 experimental - dungeon overview (trunk only)
Add Hojita Discordia's Dungeon Map overview as
conditional code for experimentation and testing.
Everything is guarded by
#ifdef DUNGEON_OVERVIEW
#endif

The notes that accompanied the original patch follow.

Dungeon Map Overview Patch for Nethack 3.4.3
Version 3
=============================================================================
Changelist:
    v3: Changed #level to #annotate to avoid #levelchange collision.  Fixed
        handling of elemental planes and astral plane (oops).  Changed
	formatting to be slightly closer to print_dungeon()'s.  Should be
	"final" version for 3.4.3.
    v2: Added tracking of trees.  Changed ctrl-m command to ctrl-o.  Portals
        displayed as "sealed" instead of "closed".
    v1: First release.
    (Note: all versions are mutually save compatible.)
=============================================================================
This patch creates a dungeon map overview that is recorded as the player
explores the dungeon.  I was tired of returning to a game a few days later
and having no idea what the dungeon looked like.  Trying to name pieces
of armor with shorthand didn't work so well as an intermediate solution
either, especially around nymphs.

It can be assumed that this map is in the mind of the hero and thus
can't be stolen, can be read when blind, or when buried, or when the hero
doesn't have any hands, or eyes, or hands free, or...etc. On the other hand,
this implies that the hero doesn't remember all of the details ("a fountain",
"some fountains", "many fountains") and that the map is subject to amnesia
when applicable.

This overview tracks fountains, altars, stores, temples, sinks, thrones,
trees, and dungeon branches.  It attempts to not spoil the player nor
reveal more information than the hero knows.  For this reason, it only
tracks dungeon features found in the guidebook and dungeon branches.

This patch breaks save file compatibility.  Sorry.

Added commands
=============================================================================
#overview (ctrl-o, if not in wizard mode) - displays overview
#annotate (ctrl-n, if using numpad) - names current level

Example Output From #overview
=============================================================================
The Dungeons of Doom: levels 1 to level 15
   Level 1:
      A fountain
   Level 3: (My stash.)
      An altar, some fountains
      Stairs down to The Gnomish Mines
   Level 7:
      Many fountains
   Level 8:
      Stairs up to Sokoban, level 7
   Level 15:
      A general store
      Sealed portal to The Quest
The Gnomish Mines: levels 4 to level 7
   Level 7: <- You are here
      Many stores, some fountains, a temple

More Details
=============================================================================
The overview shows only levels that have anything interesting to display and
doesn't show branches that don't have any interesting levels.

To avoid the map revealing more information than the hero knows, the overview
only displays things that the hero has seen or touched.  (If the hero
blinds herself, levitates above a known fountain, and obliterates it with a
wand of digging, the overview will still say that there is a fountain.)

This is done, sadly, by adding 6 bits to the rm struct to track the last
known dungeon type.  On the other hand, this change could potentially allow
a window port to do something like drawing an item and a fountain on the same
square.

Things That Could Be Better And Maybe Some Feedback Would Help
=============================================================================
"<- You Are Here" is pretty goofy
    -...but an indicator of some sort is nice.
=============================================================================
Many thanks to all the kind folks on r.g.r.n. who had very good feedback
about this patch, in particular L (for the trees), <Someone> Papaganou (for the
#annotate suggestion and some formatting feedback), and <Someone> (for the suggestion
of just overriding ctrl-o instead of using the very broken ctrl-m.)
=============================================================================
20060311. Hojita Discordia. (My usenet email is bogus. Sorry.)
2006-04-20 00:57:45 +00:00
nethack.allison 08d4a0c0fa comment bit (trunk only) 2006-04-20 00:50:37 +00:00
nethack.allison 857a46c295 another safe_oname() bit (trunk only) 2006-04-15 15:49:00 +00:00
nethack.allison 78ef9ef991 safe_oname (trunk only)
There were routines that were passed the
object name as an argument.  Before the oextra
patch, ONAME() always returned a valid pointer
to a location within the obj struct. The oextra
patch worked around those cases by
using a temporary variable that was either set
to ONAME (if the obj passed the has_oname() test),
or to ""  (pointer to an empty string) if no name was
present.

Since that might be a common thing to do, provide
the safe_oname() routine that you can use as a
function parameter without having to worry about
about whether ONAME(obj) is valid, and without
the need for the temporary variable.
2006-04-15 15:40:27 +00:00
nethack.allison c16a87d367 increment editlevel
That last merge update should have included this.
2006-04-15 13:40:11 +00:00
nethack.allison d156b95e0d oextra follow-up - merging (trunk only)
It seemed inappropriate to allocate and tack on an oextra
structure just to mark it as unmergable, and the oextra
struct itself wouldn't be released until a save/restore took
place.

This uses one of the freed up oattached bits to prevent the merge.
2006-04-15 13:37:58 +00:00
nethack.allison e7948e258c oextra obj.h follow-up (trunk only)
Just add some notes to obj.h around oextra.
2006-04-15 13:09:57 +00:00
nethack.allison b76a0fe091 drum of earthquake follow-up 2006-04-14 17:01:18 +00:00
nethack.allison f55210be79 code change - oextra
move oattached and oname and other things that vary
the size of the obj structure into a separate
non-adjacent oextra structure, similar to what has
already been done for mextra. The obj structure
itself becomes a fixed size.

New macros:

#define ONAME(o)	((o)->oextra->oname)
#define OMID(o)		((o)->oextra->omid)
#define OMONST(o)	((o)->oextra->omonst)
#define OLONG(o)	((o)->oextra->olong)
#define OMAILCMD(o)	((o)->oextra->omailcmd)

#define has_oname(o)	((o)->oextra && ONAME(o))
#define has_omid(o)	((o)->oextra && OMID(o))
#define has_omonst(o)	((o)->oextra && OMONST(o))
#define has_olong(o)	((o)->oextra && OLONG(o))
#define has_omailcmd(o)	((o)->oextra && OMAILCMD(o))

changed macros:
has_name(mon) becomes has_mname(mon)  to correspond.

The CVS repository was tagged with
	NETHACK_PRE_OEXTRA
before commiting these, and
tagged with
	NETHACK_POST_OEXTRA
immediately after. The diff
between those two tags is this oextra patch.

The associated mail daemon changes to use an oextra
structure instead of a hidden command located in the
name after the terminating NUL, have not been tried
or tested.
2006-04-14 16:23:56 +00:00
nethack.allison f9314448f7 hostile prisoner chat
<email deleted> wrote:
> * #chatting to hostile prisoners gives "This will teach you not to disturb me!"
> This only makes sense for djinn and water demons.

I don't have a clue what they should say, this only deals with
what they shouldn't say.
2006-04-14 15:26:45 +00:00
nethack.allison b9db663de1 drum of earthquake - monster portion
<Someone> wrote:
> When applying a drum of earthquake, should you "fall into a chasm" if
> you're already at the bottom of a pit? (Likewise monsters.)

monster already in a pit won't "fall into a chasm" from drum of earthquake
2006-04-14 14:33:01 +00:00
nethack.allison 914c66b10a drum of earthquake - hero portion
<Someone> wrote:
> When applying a drum of earthquake, should you "fall into a chasm" if
> you're already at the bottom of a pit? (Likewise monsters.)

hero already in a pit won't "fall into a chasm" from drum of earthquake
2006-04-14 13:53:33 +00:00
nethack.allison cc31b25634 don't reveal surface when Blind and levitating
<email deleted> wrote the following on April 10, 2006:
> When blind and levitating, you can produce a message - "You try to feel what
> is lying here on the ice. But you can't reach it!" - which reveals too much
> about the terrain below you.
2006-04-11 02:00:38 +00:00
nethack.allison ecb98e019c eating gold in front of the vault guard (trunk only)
<email deleted> wrote:
> Eating gold in a vault (or polymorphing a pile of gold into 1 gold piece)
> doesn't anger the guard.

This addresses the eating part of that report, but the hero
has to get caught doing it.
2006-03-26 05:23:46 +00:00
nethack.allison 62b430601f wording bit in fixes35.0 2006-03-26 03:56:37 +00:00
nethack.allison 280823536c clear pits in temporary corridor
From a bug report, then leave the corridor (causing it to
> vanish), the pit will be embedded in rock instead of being removed.

clear any pits that the hero digs in the vault guard's temporary corridor
2006-03-26 03:52:46 +00:00
nethack.allison 05ce448135 prevent possible minor MAIL abuse
<email deleted> wrote:
> * MAIL Abuse: one can polymorph into a gelatinous cube, send themselves lots of
> scrolls of mail, and eat them, gaining free nutrition.
2006-03-25 21:06:49 +00:00
nethack.allison e063031f00 digging conjoined pits follow-up (trunk only)
Pat Rankin wrote:
>      Isn't an array of booleans overkill?  A single byte bitmap
> could achieve the same result.
2006-03-25 18:59:53 +00:00
nethack.allison 6ef8efcefb digging conjoined pits (trunk only)
This one turned out to be more effort than I had
originally anticipated.

We had a bug report requesting that zapping a wand of digging
laterally while in a pit should dig beside you. That seemed
like a reasonable enough request, but this ended up with
the following results:
- needed to check where this should not be permitted, or at
  least where there should be special-case code because there is
  something such as furniture on the surface above the dig
  point.
- now tracks conjoined pits through new fields in the trap
  structure, hence the pathlevel increment. The array of
  8 boolean values represents each of the 8 directions
  around a pit.
- Previously, pits could be adjacent to each other as two
  individual pits, in which case moving between them
  results in a fall as you went into the next pit. That
  behavior is preserved.
- Pits created either by zapping a wand of digging
  laterally while in a pit, or by "clearing debris"
  between two adjacent pits via a pick-axe, sets the
  conjoined fields for those two pits. You cannot
  create a brand new adjacent pit via pick-axe, only
  with the wand.
- The hero can pass between conjoined pits without
  falling.
- dighole() was hijacked for adjacent pit digging,
  so the ability to pass coordinates to it and
  its downstream functions was added (dig_up_grave()
  for example). dighole() does pretty much everything
  appropriately for this adjacent digging, more so
  than calling digactualhole() directly.
- moving into a conjoined pit that has spikes still
  does damage, but less so that "falling" into the
  spiked pit, and you "step on" the spikes rather
  than falling into them.
- Not done: should pits with the conjoined fields
  set be referred to as 'trenches' rather than pits
  in messages and identifications?
2006-03-19 23:59:03 +00:00
nethack.allison 3299e318ca digactualhole() bit
I'm pretty sure this check at_u should be included since x,y
can be passed to digactualhole().  The lack of any related
bug reports suggest that at_u is currently always
true for any code that calls digactualhole().
2006-03-19 23:13:11 +00:00
nethack.allison c0d17ea8af leather spellbook build warning cleanup
The tile was not adjusted for the leather -> leathery change.
2006-03-17 17:42:36 +00:00
nethack.allison b56187f1b9 cancelled nurse #chat
On May 17, 2005, <email deleted> wrote:
> Cancelled nurses shouldn't say "Relax, this won't
> hurt a bit."
2006-03-14 23:53:22 +00:00
nethack.allison 8d96ddd767 remove hard-coded cmd letters in feedback (trunk only) 2006-03-12 05:36:34 +00:00
nethack.allison 0b88609133 chameleon behaviour
- restore intended behaviour of kill_genocided_monsters().
  It has been incorrect since  the chameleon overhaul in June 2004.
- eliminate CHAM_ORDINARY and use NON_PM instead.
2006-03-12 04:43:28 +00:00
nethack.allison 354f4254bc wand of locking message (trunk only)
<email deleted> wrote:
> BUGS TO REPORT:
>
> * Zapping a wand of locking at an open door with an object on it probably
> shouldn't give a "Something's in the way." message - especially if the wand is
> unidentified.

avoid "Something's in the way" message with unidentified wand of locking
2006-03-08 23:08:25 +00:00
nethack.allison 71ed473cf6 broken wand of striking vs door (trunk only)
<email deleted> wrote:
> * Doors absorb the blast of a broken wand of striking. What's more, the message
> reads "The door absorbs your bolt!" rather than "blast".

passes wand type to explode() as a negative value for the case
where the wand type isn't mapped to an AD_* explosion type.

Then explode() converts it to a positive and passes it to zap_over_floor().
2006-03-07 03:10:58 +00:00
nethack.allison 3e8725ed95 magicbane grammar
I don't know for sure what all the possible values of hittee passed to
Mb_hit() are, but this checks to see if it matches the name of the
mdef monster and forces the word "is" if it does.
2006-03-06 04:11:36 +00:00
nethack.allison 5deeeb89cb confused scroll of light follow-up (trunk only)
Provide an opportunity to name the scroll when known is not set
2006-03-04 13:25:59 +00:00
nethack.allison e246571263 typo 2006-02-26 18:17:26 +00:00
nethack.allison 8dec47ee60 make disappearing scroll trick trunk only 2006-02-26 00:40:13 +00:00
nethack.allison 8308afc75c disappearing scroll trick
<email deleted>
> * When you read a charging scroll, it "disappears", but when you are
> selecting the object to charge, the scroll itself remains in your
> inventory listing until you make your selection.
2006-02-25 00:43:39 +00:00
nethack.allison a732a87ee2 tame hidden monster message
<email deleted> wrote:
> * Searching next to a tame hidden monster gives the message "You find a
> <kraken>." It should be "your <kraken>."

While I don't consider this a bug, the change seems appropriate.
2006-02-24 02:54:58 +00:00
nethack.allison b6eff2405a leather spellbook
<Someone> wrote:
> * Eating a leather spellbook doesn't violate
> vegetarian conduct. I suggest you rename it to
> something else. (May I suggest "bark"?) Also, I refuse
> to consider "leather" to be a colour or texture.
> * While as a water nymph in water, seducing an unseen
> monster on dry land sometimes gives away its identity.
> * When submerged iron golem monsters residually
> "rust", and the rust damage kills them, it doesn't
> report their death.
> * Drum of Earthquake says "the entire dungeon shakes
> around you" even when you're in the Endgame or the
> Quest's top level.
> * Wishing for a statue of a guard, then destoning it,
> then chatting to it, makes it say "drop that gold"
> without context. This could probably be extended to
> other cases, too (like Croesus?)

This corrects only the first complaint in the list above.
2006-02-21 03:28:57 +00:00
nethack.allison 75a4885cb9 Guidebook update - thank you to Ron Van Iwaarden 2006-02-20 00:01:49 +00:00
nethack.allison f65d0710b6 confused scroll of light
Implement the following suggestion by <email deleted>
- Reading a scroll of light while confused should
create a hostile yellow light (black light if cursed).

It only creates the light monster effect 1 out of 5 times.
2006-02-19 23:28:38 +00:00
nethack.allison 645d1b9921 finish a trailing sentence in a comment 2006-02-19 22:44:06 +00:00
nethack.allison 8dc30e25f2 fixes35.0 update 2006-02-19 22:40:52 +00:00
nethack.allison abb47e6fc6 frying water elementals
Subject: Some problems to report!
Date: Tue, 17 May 2005 07:01:40 -0700 (<email deleted>
<email deleted>

[...]
- When polymorphed into a water elemental, falling
into lava still says "you burn to a crisp."
[...]
2006-02-19 22:35:23 +00:00
nethack.allison 3ea07e2ef0 anatomy bits
Subject: Some problems to report!
Date: Tue, 17 May 2005 07:01:40 -0700 (<email deleted>
<email deleted>

Hi. I'm a sourcediver but not a source compiler.
I use the Mac carbon port under Mac OS X. But enough
about me; I noticed these things:

	Polyself/Anatomy Bugs:

- Mimics are amorphous, so they should have jelly
parts rather than animal parts.
- Piercers, trappers and lurkers above have animal
parts, including "head," but they are M1_NOHEAD.
- All elementals have vortex body parts. This should
only be the case for air elementals.
(Remember: stalkers, unlike the other elementals, have
heads.)
- Krakens ought to have tentacles, like jellyfish. ("A
gush of water hits the kraken's left fin!")
- Worms have snake body parts, but they shouldn't have
scales.
[...]

 This patch:
- adds worm_parts
- gives krakens tentacles
- ensures that stalkers have a head
2006-02-19 21:57:54 +00:00
nethack.allison 70b04bfb6e wiz_identify change (trunk only)
This patch alters wiz_identify so that it displays an
inventory menu with all items shown identified
without actually identifying them.

You can just press ^I (or whatever the wiz_identify command
is) a second time, while the menu is displayed to actually identify
them (tested with TTY menus only).
2006-01-14 17:02:22 +00:00
nethack.allison 40b426a977 tin details at end of game
Pat Rankin wrote:
>      Won't the players who notice this immediately ask why they
> can't see the same information for fully ID'd tins during play?

It wasn't clear to me whether Pat wanted the info shown on
fully ID'd tins during play, or whether he didn't want the info
displayed at all.

This withdraws the end-of-game tin details until clarified.
2006-01-13 04:47:04 +00:00
nethack.allison de2a6034dd tin details (trunk only)
Reveal more tin details at end of game disclosure.

	b - an uncursed carrot
	c - an uncursed tin of broiled kobold meat
	d - an uncursed tin of stir fried fox meat
	e - 4 uncursed tripe rations
	f - 4 uncursed food rations
	g - an uncursed cream pie
	n - 4 uncursed tins of spinach
	o - 3 uncursed tins of pureed newt meat
	p - an uncursed homemade tin of fox meat

Note that in the case of homemade and rotten
it sounded better to have the term before the
word tin, rather than after:
	homemade tins of newt meat
rather than:
	tins of homemade newt meat

The wishing code should probably be
changed to reflect this so people can wish for
a "homemade tin of newt". As it stands, they must
wish for a "tin of homemade newt" which differs
from the final display. That is not included.
2006-01-12 03:23:05 +00:00
nethack.allison ce434a8cb7 formatting bit 2006-01-08 16:21:10 +00:00
nethack.allison 0bdb1fba28 mextra docs 2006-01-07 17:36:24 +00:00
nethack.allison 54e7039a5b mextra follow up bit 4 2006-01-07 14:03:00 +00:00
nethack.allison 5548bd6c5a new year 2006-01-07 13:47:41 +00:00
nethack.allison 143790540b mextra follow up bit 3
More Makefile tweaks
2006-01-07 13:38:29 +00:00
nethack.allison 580b5e62f1 remove obsolete files 2006-01-06 22:28:29 +00:00
nethack.allison aea3c50163 mextra follow up bit 2
<Someone> noticed the leftover zeromextra, this removes it.

Using memset() on a possibly failed mextra allocation was inapprorpriate,
so replace the newmextra() macro with a function.

Prevent a crash in christen_monst() if mextra was not initialized.
2006-01-06 22:16:46 +00:00
nethack.allison 30c508a664 mextra follow up bit 1 2006-01-06 21:10:51 +00:00
nethack.allison 54ec47807a mextra.h 2006-01-06 20:52:04 +00:00
nethack.allison e6eacab791 mextra fixes entries 2006-01-06 06:12:25 +00:00
nethack.allison 51ad1c848f mextra-related port Makefile mods
This attempts to modify the various Makefiiles for the mextra changes.
Port teams should verify that the modifications are valid.
2006-01-06 06:00:34 +00:00
nethack.allison faa5458843 mextra-related port Makefile mods
This attempts to modify the various Makefiiles for the mextra changes.
Port teams should verify that the modifications are valid.
2006-01-06 05:52:48 +00:00
nethack.allison 0dc071bee8 mextra changes
Note: The CVS repository was tagged with NETHACK_PRE_MEXTRA
prior to application of this patch to allow easy withdrawal if necessary.

Adds a new mextra structure type that has a set
of pointers to various types of monster structures
including:
   mname, egd, epri, eshk, emin, edog

Replaces the mextra bits in the monst structure
with a single pointer called mtmp->mextra of type
(struct mextra *).
The pointer can be null if there are no additional
structures attached. The mextra structure is not
adjacent to the monst structure.

Reduces the in-memory footprint of the monst that
has no other structures attached, at the cost
of adding 6 extra long ints per monster to
the save file

The new mextra structure has the mextra fields
independent of each other, not overlapping as was
the case with previous NetHack versions.
This patch doesn't do anything to capitalize on
that difference however.

Consolidates vault.h, epri.h, eshk.h, emin.h and edog.h
into mextra.h

Adds a macro for checking for whether a monster has
a name:
	has_name(monst)

This fixes the magic trap panic
   expels() -> spoteffects() -> dotrap() ->
	domagictrap() -> tamedog()
because the monst no longer varies in size so no
replacement is required.
2006-01-06 05:46:03 +00:00
nethack.allison ec1b3d3e6b MSC Makefile typo
Fix a typo spotted in the last patch
2006-01-04 11:43:58 +00:00
nethack.allison d47f1ef79a MSC Makefile
Create MSC PDB and MAP files in obj directory instead of source
2006-01-04 11:34:27 +00:00
nethack.allison 189f86bed2 Files update 2006-01-04 11:32:13 +00:00
nethack.allison aa77c621d6 Only count successful statue creations against the monster limit. 2006-01-03 13:20:13 +00:00
nethack.allison af91e757f5 build clean-up (trunk only)
../src/detect.c(715) : warning C4101: 'obj' : unreferenced local variable
2005-11-26 04:00:22 +00:00
nethack.allison 7391587006 nethack.rankin wrote:
>      Makefiles need a dependency update to add edog.h for eat.c.
2005-10-02 21:08:28 +00:00
nethack.allison 19a6dd6f3f smartphone keypad input tweaks (from <Someone>) 2005-03-29 04:32:42 +00:00
nethack.allison 75e9a06719 clicklook on win32
Make clicklook option a little safer/easier on win32 by letting
right-mouse button work as expected.
2005-03-29 04:26:58 +00:00
nethack.allison e45611b909 smartphone keypad input tweaks (from <Someone>)
<Someone> wrote:
> Some keypad input tweaks for Smartphone port:
> - added "Type Cmd" command that allows to type arbitrary commands using
> phone keypad
> - added Q(quiver) command to "Attack" layout
> - fixed F command to prompt for direction
>
>
>>2) I can't find a way to do the equivalent of d<number><item> and the
>>same for picking up (for example when multiple rations are on top of each
>>other and you can only afford 1)
>>
>>3) I can't find a way to change the quiver (the Q command)
2005-03-29 03:58:23 +00:00
nethack.allison 77d02be72b tile renumbering 2005-02-20 20:04:01 +00:00
nethack.allison 4078094246 tile synch and a warning fix 2005-02-20 19:49:56 +00:00
nethack.allison 4527baa259 use of NULL (trunk only)
There were 2 files where NULL had crept into the sources,
even though we are not using it anywhere else.
2005-01-23 19:59:21 +00:00
nethack.allison 6177f4b871 win32 and wince
Remove the email address which is no longer valid from
several NetHack source files.
2005-01-23 19:39:01 +00:00
nethack.allison d040170713 djgpp zlib support
Tested the djgpp MSDOS build with zlib support.
2005-01-23 16:29:16 +00:00
nethack.allison fd205fc1db followup to compression changes 2005-01-23 14:34:29 +00:00
nethack.allison fab2b1655f bones follow-up
include the savefile info in bones files
2005-01-22 18:58:02 +00:00
nethack.allison 4bfba9b24f config.h follow-up
I had uncommented ZLIB_COMP for testing in config.h, but it should
have been commented when the diff was cut.
2005-01-22 18:42:16 +00:00
nethack.allison 3322b8cfa6 increment patchlevel 2005-01-22 15:48:42 +00:00
nethack.allison ab1872b928 zlib support; also internal compression changes
o Add support for zlib compression via ZLIB_COMP in config.h (ZLIB_COMP
  and COMPRESS are mutually exclusive).
o rlecomp and zerocomp are run time options available if RLECOMP and
  ZEROCOMP are defined, but not turned on by default if either COMPRESS
  or ZLIB_COMP are defined.
o Add information to the save file about internal compression options
  used when writing the save file, particularly rlecomp and zerocomp
  support.
o Automatically adjust rlecomp and zerocomp (if support compiled in)
  when reading in an existing savefile that was saved with those options
  turned on.  Still allows writing out of savefile in preferred format.
o In order to support zlib and not conflict with compress and uncompress
  routines there, the NetHack internal functions were changed to
  nh_uncompress and nh_compress as done in the zlib contribution received
  in 1999 from <Someone>.

I tagged the sources NETHACK_3_5_0_PREZLIB prior to applying these
changes.
2005-01-22 15:28:15 +00:00
nethack.allison 9fe716c8db Guidebook update 2005-01-16 03:57:39 +00:00
nethack.allison 4c3a3d1d0c fixes35.0 update 2005-01-15 14:12:23 +00:00
nethack.allison 7b83a76bff win32tty: prevent early messages from flashing by unseen 2005-01-15 14:04:03 +00:00
nethack.allison b064510a9b customize role, race, gender, align choices (trunk only)
Support negation syntax to restrict unwanted race, role, gender, align
options:
        OPTIONS=role:!knight, role:!tourist, race:!orc
prevents them from being picked randomly or
appearing in the pick lists at the start of the game.
2005-01-15 14:01:47 +00:00
nethack.allison d957558be4 yet another bit 2005-01-10 01:13:03 +00:00
nethack.allison ee7064746f AltGr-4 and alternate tiles in menus - trunk only (from <Someone>)
On Mon, 03 Jan 2005 12:04:29 +0000, <email deleted> wrote:
> Dear NetHack win32 developers,
>
> This bug does not affect the win32 binaries that you distribute but it
> does affect NetHack 3.4.3 if I build it from source. The difference may
> be due to different compilers or whatever. I'm using mingw32-gcc v3.2
>
> I don't quite understand what's going on (I never was much good at
> win32 programming), but it appears that the WM_KEYDOWN message for
> AltGr-4 is being translated into a WM_CHAR message with a wParam of
> 128. I don't understand why that should be, but anyway. The problem
> then occurs when NetHack casts wParam to char which, since char is
> signed, gives -128. onListChar() then passes -128 to isdigit() which
> causes the crash. The fix appears to be to simply drop the cast:

Also
> <email deleted>
> Newsgroups: rec.games.roguelike.nethack
> Subject: Changing tile set for item list?
> Date: 1 Jan 2005 20:03:08 -0800
> <email deleted>
>
> I'm using the windows interface for Nethack 3.4, and I've successfully
> changed the tileset used by changing defaults.nh.  The only problem is,
> the item list (i.e. The list that comes up when I press "i") still uses
> the old tiles.  Is there any way to change the list so it uses the new
> tiles?  I've searched the guidebook to no avail.  I'm debating if it is
> even possible.
>
> Thanks for the help,
> -Zmann

trunk patch:
- menu: display custom tiles if map is not ASCII
- menu: display '-'/'+'/'#' in place of a tile if map is ASCII
- fix isdigit() crash on AltGr-4 with mingw


It looks kinda weird with huge tiles (e.g. absurd96) but that could
be just me. Comments/suggestions are welcome.

-<Someone>
2005-01-09 23:35:52 +00:00
nethack.allison 64fe2e5af4 selectsaved follow-up bit (trunk only)
fix a cut-and-paste error that I didn't catch earlier.
2005-01-09 23:25:40 +00:00
nethack.allison 055781aaf2 selectsaved follow-up bit (trunk only) 2005-01-09 21:58:43 +00:00
nethack.allison 15ae774a78 selectsaved option (trunk only)
- always write plname into save file, no longer conditional
- add 'selectsaved' wincap option to control the display of
  a menu of save files for ports/platforms that support it.
- add support for win32 tty using normal nethack menus.
- the win/tty/wintty code is generalized enough that any
  tty port could support the option if the appropriate port-specific
  code hooks for wildcard file lookups are added to src/file.c
  specifically in the get_saved_games() routine. There is posix
  code in there from Warwick already, and there is findfirst/findnext
  code in there from win32. Warwick has the posix code only
  enabled for Qt at present, but with wintty support, that could be expanded
  to other Unix environments quite easily I would think.

Here is what the tty support looks like:

    NetHack, Copyright 1985-2005
         By Stichting Mathematisch Centrum and M. Stephenson.
         See license for details.

    Select one of your saved games
    a - Bob
    b - Fred
    c - June
    d - mine3
    e - Sirius
    f - Start a new character
    (end)

The following files existed in the NetHack SAVEDIR directory
at the time:
    ALLISONMI-Bob.NetHack-saved-game
    ALLISONMI-Fred.NetHack-saved-game
    ALLISONMI-June.NetHack-saved-game
    ALLISONMI-mine3.NetHack-saved-game
    ALLISONMI-Sirius.NetHack-saved-game
Note that despite the file names, the actual character name
is drawn from the savefile.

The WIN32CON support passes
    USER-*.NetHack-saved-game
to findfirst/findnext where USER is your login name of course.
2005-01-09 21:40:24 +00:00