]> granicus.if.org Git - nethack/log
nethack
21 years agoU704 - creating unappropriate hell random monsters
cohrs [Tue, 21 Oct 2003 16:20:18 +0000 (16:20 +0000)]
U704 - creating unappropriate hell random monsters
When changing levels, the state of rndmonst() is reset, causing the monster
choices to be recalculated.  However, the frequency counts for initial
uncommon() monsters were never cleared.  Thus, if the first non-extinct
monster were a hell monster, and you returned to the main dungeon, the hell
monster will remain in the list and could be selected.

21 years agowin32tty hangs if you ^C at "Who are you?"
nethack.allison [Tue, 21 Oct 2003 15:19:08 +0000 (15:19 +0000)]
win32tty hangs if you ^C at "Who are you?"

From Newsgroups: rec.games.roguelike.nethack :
> <email deleted>
> Subject: question for windows tty users
>
> I am trying to hunt down a bug, and want to know if I have
> encountered another one of those bizarre "features" that only
> occur on my computer (I seem to get a lot of them).
>
> I can reproduce this bug, or whatever it is, in the official
> Windows binary like this: Start the tty version of NetHack by
> double clicking on the program. You won't see the bug if you
> start it from the command line. When the game asks, "Who are
> you?" press ^C. NetHack will respond with "^C abort. Hit
> <Enter> to end," and then it hangs. Pressing Enter does
> nothing, and the program does not end.
>
> Can anybody else reproduce this behaviour? Thanks in advance.
>
> -- <Someone>

21 years agowin32tty hangs if you ^C at "Who are you?"
nethack.allison [Tue, 21 Oct 2003 14:17:04 +0000 (14:17 +0000)]
win32tty hangs if you ^C at "Who are you?"

From Newsgroups: rec.games.roguelike.nethack :
> <email deleted>
> Subject: question for windows tty users
>
> I am trying to hunt down a bug, and want to know if I have
> encountered another one of those bizarre "features" that only
> occur on my computer (I seem to get a lot of them).
>
> I can reproduce this bug, or whatever it is, in the official
> Windows binary like this: Start the tty version of NetHack by
> double clicking on the program. You won't see the bug if you
> start it from the command line. When the game asks, "Who are
> you?" press ^C. NetHack will respond with "^C abort. Hit
> <Enter> to end," and then it hangs. Pressing Enter does
> nothing, and the program does not end.
>
> Can anybody else reproduce this behaviour? Thanks in advance.
>
> -- <Someone>

21 years agowin32 acknowledgement bit
nethack.allison [Tue, 21 Oct 2003 12:14:12 +0000 (12:14 +0000)]
win32 acknowledgement bit

21 years agowin32 dep
nethack.allison [Tue, 21 Oct 2003 11:06:20 +0000 (11:06 +0000)]
win32 dep

21 years agosome lint cleanup
nethack.rankin [Tue, 21 Oct 2003 05:59:33 +0000 (05:59 +0000)]
some lint cleanup

     Using
gcc -Wall -Wshadow -Wpointer-arith -Wwrite-strings \
    -Wmissing-braces -Wmissing-prototypes
with an old version of gcc.

mhitu.c: In function `hitmu':
mhitu.c:1176: warning: declaration of `buf' shadows previous local
options.c: In function `special_handling':
options.c:2712: warning: initialization discards `const' from pointer target type
options.c:2745: warning: initialization discards `const' from pointer target typ
trap.c: In function `dotrap':
trap.c:1111: warning: `saddle' might be used uninitialized in this function

The first one is no longer present in the trunk code.  The last one is
bogus as its wishy-washy wording suggests.

21 years agoold bug report: unchanging iron golem still rehumanizes
cohrs [Tue, 21 Oct 2003 04:28:16 +0000 (04:28 +0000)]
old bug report: unchanging iron golem still rehumanizes
Calling rehumanize directly when u.mh > 0 doesn't consider Unchanging
(perhaps it should?).  But, it's probably better to call losehp anyway.
Also, part of a buglist item: .5PD didn't affect rust trap damage on iron golem

21 years agovms catchup
nethack.rankin [Tue, 21 Oct 2003 04:25:35 +0000 (04:25 +0000)]
vms catchup

1) filename manipulation during restore
2) hangup handling in low level input routine
3) Makefile dependencies
4) version number update

21 years agoU453 and buglist item - travel command updates
cohrs [Tue, 21 Oct 2003 02:27:43 +0000 (02:27 +0000)]
U453 and buglist item - travel command updates
I wrote to the devteam early last week:
> Given my understanding of travel, it's supposed to be somewhat intelligent,
> and "convenient", and should, therefore avoid walking into water, lava,
> traps, or other things that distant movement would avoid, even if you're
> right next it.  Unless...  the travel destination is the "bad" location
> next to you when the travel starts.
To that end...
- add a context (iflags in 3.4.3 to maintain savefile compat) flag to
differenciate the first travel step from later steps, to allow the
detection of the final sentence, above.
- several changes to set/reset the travel1 flag as needed
- add code to findtravelpath to treat the first step specially if it's
the only step, allowing forced travel into a "bad" location
- correct the "don't travel over traps" code, which was getting confused
because hero's starting location was being avoided
- add code to avoid traveling into water and lava, duplicating
checks used for non-travel running
- fix some strange "guess" travel behavior: avoid zigzag paths when there's
a more direct path (even though the number of moves is the same)
- trunk change adds a new DISP_ALL tmp_at type, and uses it in some debug
code for travel, debug changes not added to the 3.4.3 branch

21 years ago3.4.3 update
cohrs [Tue, 21 Oct 2003 02:06:27 +0000 (02:06 +0000)]
3.4.3 update
update the linux README

21 years agounix depend update
cohrs [Tue, 21 Oct 2003 01:27:05 +0000 (01:27 +0000)]
unix depend update
trunk needs a new dependency on context.h

21 years agounix depend update
cohrs [Tue, 21 Oct 2003 01:16:16 +0000 (01:16 +0000)]
unix depend update
update the unix 'make depend' output in both branches.

21 years agognome does not like ^C
cohrs [Tue, 21 Oct 2003 01:06:05 +0000 (01:06 +0000)]
gnome does not like ^C
This hack simply causes ^C to be ignored completely by the gnome interface.
Gnome really cannot handle interrupts, and the window port interface does
not currently provide a way for the gnome interface to just quit.  Allowing
the gnome interface to prompt would require a complete overhall to the the
way window ports work.

21 years agoanother bit
nethack.allison [Mon, 20 Oct 2003 18:13:42 +0000 (18:13 +0000)]
another bit

follow-up to previous bit

21 years agomore buglist crystal ball detection
nethack.allison [Mon, 20 Oct 2003 03:46:43 +0000 (03:46 +0000)]
more buglist crystal ball detection

<Someone> wrote:
- If I set the 'boulder' option, shouldn't I be able to give the
  symbol I define for them at the crystal ball "object or
  monster symbol" prompt and have it work?
- Could ']' be added as a synonym for 'm', as with genocide?
- set boulder symbol to '3'; use '/' or ';' to examine a
  boulder. Result is "unknown creature causing you disquiet
  co-located with a boulder" even though there's no warning
  glyph '3' there.

21 years agobit
nethack.allison [Sun, 19 Oct 2003 21:26:07 +0000 (21:26 +0000)]
bit

triggered from newsgroup post:
> ""For you , esteemed lady; only 10 for this large shield." k - a
> large shield (unpaid, 10 zorkmids).
> To what level do you want to teleport? 0
> Go to Nowhere. Are you sure? [ynq] (q) y
> You scream in agony as your body begins to warp... You cease to
> exist.
> Die? [yn] (n) y
> Bayburt comes and takes all your possessions."
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> How? He teleported to Nowhere?

Leave no doubt that your possessions did not go with you...

21 years agocrystal balls and space key
nethack.allison [Sun, 19 Oct 2003 19:49:43 +0000 (19:49 +0000)]
crystal balls and space key

Another buglist entry.

<Someone> wrote:
- There appears to be no way to detect ghosts-and-shades; the
  space key just "Never mind"s. (Not that they'd be particularly
  visible on the resulting screen under ASCII, unless you've
  changed the 'monsters' option.)

Allow space; display results in inverse using detected_mon_to_glyph()

21 years agocrystal balls and '~'
nethack.allison [Sun, 19 Oct 2003 19:07:33 +0000 (19:07 +0000)]
crystal balls and '~'

<Someone> wrote:
- You currently appear to be able to specify '~' and have it try
  to detect monsters (though it won't detect any long worms)

Show the entire worm when specifying either '~' or 'w' now.

21 years agobreaking migrated objects
cohrs [Sat, 18 Oct 2003 22:55:42 +0000 (22:55 +0000)]
breaking migrated objects
Allow migrated objects to break on arrival.  Added code to obj_delivery to
cause this, along with a flag to keep breakage from occurring.  The new
flag isn't used yet, because all the current object migration involve
objects that were moving/dropping.  To help make this change, rloco now
returns whether the object was placed or not, so caller can know if an obj
pointer is still valid or not.

Making the breakage messages for MIGR_NEAR_PLAYER objects show up after the
new level is displayed required some effort (rather than while the old level
was still displayed, which was confusing), due to the needs of goto_level.
- obj_delivery now has 2 passes, one for before player arrives, another after,
allowing the two cases to be treated differently
- goto_level calls obj_delivery twice (run_timers is not called twice,
since the run required before the level is displayed will have already run
any timers on migrating object)
- kill_genocided_monsters now kills eggs on the migrating_objs list too

21 years ago> - When polymorphed into a flying creature and being grabbed
nethack.allison [Sat, 18 Oct 2003 14:59:29 +0000 (14:59 +0000)]
> - When polymorphed into a flying creature and being grabbed
> over the water, then polymorphed into a non-flying creature
> leaves you standing on the water (you can kill the creature
> too and you're still on the water when you shouldn't be).
> - When floating from levitation over water and being held and
> removing levitation, you will fall into the water and drown or
> crawl back onto land. If you crawl back onto land you're no
> longer being held.
> The first situation seems to be a bug, the second a possible
> exploit. Both situations don't seem very correct, if you're
> being held it seems you should not fall into the water/lava
> until you are no longer being held. [patch contributed] It
> will keep the hero held up on over the water until released if
> his size is smaller than or equal to the size of the monster
> holding him. [<email deleted>, patch
> supplied]
>

A recent patch ensured that you ended up in the water when
polymorphed.

This patch is less ambitious than <Someone>'s
contribution, where he actually had the monster hold you up.
Perhaps that can be tackled for the trunk later.

21 years agobuglist: Vlad can turn to flee and be paralyzed at the same time
nethack.allison [Sat, 18 Oct 2003 14:02:25 +0000 (14:02 +0000)]
buglist: Vlad can turn to flee and be paralyzed at the same time

This is a cop-out in that it just suppresses the message.

21 years agodebian bug #23229 - save file permissions
cohrs [Thu, 16 Oct 2003 16:18:26 +0000 (16:18 +0000)]
debian bug #23229 - save file permissions
Use fqname buffer 1 for restoring the save file (just like save does when
creating it) so the value won't change out from under the code in unixmain.
- Also moved a tty-specific hack in docompress_file that was causing
the 'y' response to the "keep the save file" prompt to be echoed twice.

21 years agofrom <Someone>'s list: destroy wand of digging
nethack.allison [Thu, 16 Oct 2003 02:36:26 +0000 (02:36 +0000)]
from <Someone>'s list: destroy wand of digging

20000922    Water should flow into pits from broken WoD, or DoE.

This addresses the Wand of Digging part, but does not
do anything about Drum of Earthquake.

21 years agoeating amulet of unchanging redux
cohrs [Wed, 15 Oct 2003 20:07:14 +0000 (20:07 +0000)]
eating amulet of unchanging redux
To keep this from growing beyond this targeted change, make eating an
amulet of unchanging "un"change you, unless you're also wearing one.

21 years agotrunk compilation followup to iron changes
cohrs [Wed, 15 Oct 2003 16:13:59 +0000 (16:13 +0000)]
trunk compilation followup to iron changes

21 years agomore patch cleanup
nethack.allison [Wed, 15 Oct 2003 12:42:07 +0000 (12:42 +0000)]
more patch cleanup

21 years agodipping non-weapon iron in fountain follow-up patch correction
nethack.allison [Wed, 15 Oct 2003 12:37:39 +0000 (12:37 +0000)]
dipping non-weapon iron in fountain follow-up patch correction

21 years agodipping non-weapon iron in fountain
nethack.allison [Wed, 15 Oct 2003 12:32:35 +0000 (12:32 +0000)]
dipping non-weapon iron in fountain

<email deleted> wrote:
> Non-weapon iron items don't appear to rust if #dipped in a fountain.

Fixed. If something does get rusted, its a 50/50 chance whether other
fountain effects take place on the item afterwards.

21 years agowin32tty color fix
nethack.allison [Wed, 15 Oct 2003 11:37:16 +0000 (11:37 +0000)]
win32tty color fix

fix by <Someone>, updated by <Someone> on r.g.r.n.

changes the colours of the windows tty port so that blue and
bright blue, and cyan and bright cyan are distinguishable. The chief
benefit of this is that floating eyes no longer look like shocking
spheres.

21 years agodebian bug #154629 followup
cohrs [Wed, 15 Oct 2003 06:47:22 +0000 (06:47 +0000)]
debian bug #154629 followup
further testing found a trivial bug

21 years agodebian bug #154629 - extended commands in gnome front end
cohrs [Wed, 15 Oct 2003 06:02:27 +0000 (06:02 +0000)]
debian bug #154629 - extended commands in gnome front end
Not all of the extended commands worked in the gnome interface because
'#' just caused the next character to be treated as a meta character (this
was a hack I added a while back when none of the extended commands worked).
Resolved by finally adding an extended command menu to the gnome interface.
- updated some formatting so I could read the code
- fixed startup player selection menus so accelerators work
- added necessary calls to make sure selected menu item is visible
- also removed some dead code

21 years agoadditional gnome SAFERHANGUP changes
cohrs [Wed, 15 Oct 2003 02:36:34 +0000 (02:36 +0000)]
additional gnome SAFERHANGUP changes
Found more places where gnome interface wasn't cleaning up.

21 years agoice followup
nethack.allison [Tue, 14 Oct 2003 11:06:58 +0000 (11:06 +0000)]
ice followup

Ensure that we don't start a timer on ice that
the player or a monster didn't create when
zapping existing ice.

21 years agonewline
nethack.allison [Tue, 14 Oct 2003 10:31:11 +0000 (10:31 +0000)]
newline

21 years agoadditional X11 SAFERHANGUP changes
cohrs [Tue, 14 Oct 2003 07:55:36 +0000 (07:55 +0000)]
additional X11 SAFERHANGUP changes
While messing around with window closure events, I found that some such
events during startup were being ignored as a result a SAFERHANGUP changes.

21 years agodebian #184911 - quitting while tty mode inventory is displayed
cohrs [Tue, 14 Oct 2003 07:35:01 +0000 (07:35 +0000)]
debian #184911 - quitting while tty mode inventory is displayed
The tty menu code wasn't totally reentrant, causing it to free memory
that wasn't on the heap if you had your inventory displayed, ^C then
ask to see the inventory again.  Solved this by converting the buffer used
by process_menu_window to be heap-allocated.  If the Quit code could return at
this point, this would still be very bad, but since it doesn't, this is OK.

21 years agodebian #170531 - sign extension in gnome input
cohrs [Tue, 14 Oct 2003 07:07:40 +0000 (07:07 +0000)]
debian #170531 - sign extension in gnome input
Internals of gnome_yn_function should treat key inputs as 'int' until
returning them, to avoid truncating and not sign extending as needed on
platforms where char is unsigned.

21 years agodebian #154627 - quiver menu item in gnome interface
cohrs [Tue, 14 Oct 2003 07:00:13 +0000 (07:00 +0000)]
debian #154627 - quiver menu item in gnome interface
Add a menu item for Quiver.  While testing this, found the Quit menu
item still said that you quit using shift-q, so I updated that too.
Trunk change includes some other exit related fixes that don't apply to
the 3.4.3 branch.

21 years agoice Warning (trunk only)
nethack.allison [Mon, 13 Oct 2003 23:54:41 +0000 (23:54 +0000)]
ice Warning (trunk only)

21 years agoqt gcc warnings
cohrs [Mon, 13 Oct 2003 21:17:12 +0000 (21:17 +0000)]
qt gcc warnings
cosmetic changes to allow qt_win.cpp to compile cleanly using gcc -Wall.
This corresponds to a debian report that doesn't mention a debian bug ID.
The changes are not identical to the suggested debian patch.

21 years agodebian bug 71234 - closing player selection window causes core dump
cohrs [Mon, 13 Oct 2003 20:24:17 +0000 (20:24 +0000)]
debian bug 71234 - closing player selection window causes core dump
Too much code was being shared between the extended command window
and the popup dialogs for player selection, causing an uninitialized
variable to be referenced, often resulting in a core dump.

21 years agowin32 synch
nethack.allison [Mon, 13 Oct 2003 15:40:16 +0000 (15:40 +0000)]
win32 synch

21 years agowin32 synch
nethack.allison [Mon, 13 Oct 2003 15:35:55 +0000 (15:35 +0000)]
win32 synch

21 years agowin32gui message history; also clipboard support (from <Someone>)
nethack.allison [Mon, 13 Oct 2003 14:52:15 +0000 (14:52 +0000)]
win32gui message history; also clipboard support (from <Someone>)

main trunk only

- added 2 menu options: Copy ASCII Screenshot To Clipboard, Save
  ASCII Screenshot To File
- implemented saving message history

21 years agowin32gui message history; also clipboard support (from <Someone>)
nethack.allison [Mon, 13 Oct 2003 14:48:13 +0000 (14:48 +0000)]
win32gui message history; also clipboard support (from <Someone>)

- added 2 menu options: Copy ASCII Screenshot To Clipboard, Save
  ASCII Screenshot To File
- implemented saving message history

21 years agochange the "Stop eating?" question (trunk only)
nethack.allison [Mon, 13 Oct 2003 02:48:46 +0000 (02:48 +0000)]
change the  "Stop eating?" question (trunk only)

Opinions expressed:
> I actually like having "yes" consistently mean take a
> dangerous action, and "no" mean the safe route.

Also:
> I would classify the current behavior--where the "safe" answer
> is the opposite of the one for other prompts--as simply a bug.
[...]

change the dreaded "Stop eating?" prompt to "Continue eating?" with default "no"

21 years agotypo
nethack.allison [Sun, 12 Oct 2003 22:57:51 +0000 (22:57 +0000)]
typo

21 years agoVlad won't use digging in his tower
nethack.allison [Sun, 12 Oct 2003 22:56:36 +0000 (22:56 +0000)]
Vlad won't use digging in his tower

<email deleted> wrote:
> [...] Vlad happened to be generated with a /WoDig and tried to
> make an escape hole during his last few moves. Shouldn't he
> know, that the floor in his own tower is undigable? So he lost
> valuable time with a pretty senseless action...

21 years agoanother melting ice follow up (trunk only)
nethack.allison [Sun, 12 Oct 2003 15:45:20 +0000 (15:45 +0000)]
another melting ice follow up (trunk only)

Zapping existing ice with cold wand/spell guaranties safe ice for
a minimum of MIN_ICE_TIME time.

Note that it could actually cause the ice to melt sooner than
it previously would have due to the randomization, but that's
an internal that the non-wizard-mode player would  never
know anyway. The important thing from the hero's perspective
is that the ice should be safe for a while at least.

Also noticed and corrected a bug where the ice object effects
seem to have been getting initiated when solidifying lava in
zap.c

21 years agomelting ice follow up (trunk only)
nethack.allison [Sun, 12 Oct 2003 14:49:42 +0000 (14:49 +0000)]
melting ice follow up (trunk only)

(now + 50) < (melting time) < (now + 50 + 2000)
with the chance approaching 100% the longer the time passed

21 years agomelting ice (trunk only)
nethack.allison [Sun, 12 Oct 2003 04:21:27 +0000 (04:21 +0000)]
melting ice (trunk only)

add a new melt_ice_away timer for ice created via zapping
a wand/spell of cold.

Some follow-up adjustments to the length of time before
the ice melts may be necessary. Ideally, I'd like to
have it so that the shorter the length of time since
the ice was created, the lesser the chance that it will
melt out from under you.  Likewise, the longer it has
been, the more risky it will be to venture onto it.

At the moment, however, each spot of ice is just
getting a somewhat random time always greater
than 50, which is less than ideal.

21 years agoX11 hilite_pet
cohrs [Sun, 12 Oct 2003 03:55:17 +0000 (03:55 +0000)]
X11 hilite_pet
Add support for hilite_pet to X11 text map mode (hilite_pet was already
supported when tiles were enabled).  While testing this, I found a missing
newsym() in the code implementing the creation of a "tame" monster.

21 years agofixes catchup
kmhugo [Sun, 12 Oct 2003 02:50:43 +0000 (02:50 +0000)]
fixes catchup

21 years agoDeafness tidbit
kmhugo [Sun, 12 Oct 2003 02:39:31 +0000 (02:39 +0000)]
Deafness tidbit

Fix a typo

21 years agoeating an amulet of unchanging
cohrs [Sat, 11 Oct 2003 18:54:48 +0000 (18:54 +0000)]
eating an amulet of unchanging
Prompted by a suggestion on the newsgroup and from <Someone>, allow eating an
amulet of unchanging to remove intrinsic polymorph.

21 years agothrowing while polymorphed
cohrs [Sat, 11 Oct 2003 18:38:24 +0000 (18:38 +0000)]
throwing while polymorphed
<Someone> suggested that a dragon, lacking hands, shouldn't be able to
throw things.  Dragons can pick things up, and it seems they can throw
things the same way.  However, it does seem that a notake() monster, which
cannot pick things up, shouldn't be able to throw things either.

21 years agohiding under a cockatrice corpse
cohrs [Fri, 10 Oct 2003 23:01:42 +0000 (23:01 +0000)]
hiding under a cockatrice corpse
Reported a while back, a (stonable) hiding monster will hide at a location
containing only a cockatrice corpse.  While it would be interesting to
allow monsters to try, and stone themselves as a result, I chose the
simpler fix which is to not have monsters hide in such situations.  I found
the hiding code was duplicated in several places, so I moved it into a new
hideunder() function that works for both the hero and monsters.

21 years agoU685 - billing for tin usage
cohrs [Fri, 10 Oct 2003 22:53:28 +0000 (22:53 +0000)]
U685 - billing for tin usage
When moving the code to bill for tins before eating them (to charge for
them at the pre-eating hunger status), several cases were able to bypass
billing.  Moved the bill checking code to a new costly_tin() subroutine so
it could be called in all the necessary places.

21 years agobuglist: splashing
nethack.allison [Fri, 10 Oct 2003 15:53:27 +0000 (15:53 +0000)]
buglist: splashing

> Not all objects say "Splash!" when they fall in the
> water. When levitating/flying and dropping things they
> don't, but when polymorphing and forced to drop items
> they do. [<email deleted>]

when floating over the water, things dropped always
make some sort of sound. Also fix up some messages
when Underwater that previously said things like
"feel what is lying on the water" by adjusting
surface() in that situation to return "bottom."

While looking into this, I noticed that if you
are polymorphed into a Flyer and you then polymorph
back into your normal form, you don't end up in
the water until you move, so this attempts to
correct that too.

21 years ago#U578: Various bug reports
nethack.allison [Fri, 10 Oct 2003 13:36:53 +0000 (13:36 +0000)]
#U578: Various bug reports
> <email deleted>
> on Tuesday, August 5, 2003:
> Warriors on the Valkyrie quest may be male.
[...]

21 years agowin32tty bit
nethack.allison [Fri, 10 Oct 2003 04:53:17 +0000 (04:53 +0000)]
win32tty bit

21 years agoRemove very old buglist entry
nethack.allison [Wed, 8 Oct 2003 03:48:59 +0000 (03:48 +0000)]
Remove very old buglist entry
> You cannot stop eating, transcribing, or removing armor, save
> the game, restore it, then expect to continue. These use
> static data structures which aren't saved.

21 years agomore context (trunk only)
nethack.allison [Wed, 8 Oct 2003 03:31:06 +0000 (03:31 +0000)]
more context (trunk only)
- reading spellbooks
- taking off

21 years agomessage history followup
cohrs [Mon, 6 Oct 2003 02:55:55 +0000 (02:55 +0000)]
message history followup
Add a couple missing prototypes
removed an unused variable

21 years agowin32tty changes
nethack.allison [Sun, 5 Oct 2003 23:00:05 +0000 (23:00 +0000)]
win32tty changes

1. Switch to low-level console routines for performance improvements.
2. Instead of moving the cursor around like a real tty, just track the
   destination coordinates of where the cursor should be, and
   defer the movement until user input is expected.

Credit to <Someone> for #2.

21 years agoheadings in option menus
nethack.allison [Sun, 5 Oct 2003 19:56:22 +0000 (19:56 +0000)]
headings in option menus

There was a great deal of inconsistency in
different menus on how headings were displayed.
This allows the user to select what they like best.
I was motivated to do this, because I wasn't satisfied
with the appearance of ATR_INVERSE in the menus
on win32tty, and several of them specified it.

21 years agosaving message history (trunk only)
nethack.allison [Sun, 5 Oct 2003 13:43:16 +0000 (13:43 +0000)]
saving message history (trunk only)

On September 11, 2003 "<Someone>" wrote:
> When we're going to have a different save file format, could
> the last messages in the message history be saved as well, so
> ^P would work the same before and after saving (possibly
> including a few less messages to make room for the startup
> messages?).

This seemed like a reasonable request. This patch:
- adds the core support required.
- adds the tty supporting routines.

21 years agoX11 dynamic map mode selection
cohrs [Fri, 3 Oct 2003 02:09:27 +0000 (02:09 +0000)]
X11 dynamic map mode selection
Prompted by a question from Pat a long time back, this change finally allows
tiles or text map mode to be chosen dynamically at runtime (using the
"tiled_map" option) rather than having to pick it via an X resource and
keep your selection until you exit. This brings map mode selection up to a
level similar to most other graphical window ports.
In addition, the map mode automatically switches to text on the Rogue
level, also like other graphical window ports.
The default mode for the X11 binary is now tiles, once again, like most (all?)
other graphical window ports.
The patch also removes some dead X11 code that is unlikely to be useful again.

21 years agoeels in lava
cohrs [Thu, 2 Oct 2003 04:23:59 +0000 (04:23 +0000)]
eels in lava
<Someone> reported that randomly placed aquatic monsters can end up in
lava.  The placement code allowed lava whenever the WET flag was passed to
it.  This was so passing (WET|DRY) would match all locations, but it's not
appropriate for when only the flag WET is used.  Since we have no levels
currently affected by this bug, I fixed it only in the trunk.

21 years agonagas eating
cohrs [Thu, 2 Oct 2003 03:39:57 +0000 (03:39 +0000)]
nagas eating
<Someone> suggested that nagas should eat.  This seems reasonable.
I made all but the black omnivores.  The black are similar to the AD&D
spirit naga, which are listed as carnivores, while AD&D's other nagas are
omnivores, so I took the same approach.

21 years agoU666 - inserting gold into a container
cohrs [Wed, 1 Oct 2003 03:37:55 +0000 (03:37 +0000)]
U666 - inserting gold into a container
The special-case code for the full menu style lacked an #ifndef GOLDOBJ
to handle the case where gold is the only thing in the hero was carrying.

21 years agopotion-from-sink and the corpsenm field
cohrs [Tue, 30 Sep 2003 18:55:02 +0000 (18:55 +0000)]
potion-from-sink and the corpsenm field
Change the code involved to use a new #define for the field, like other
overloaded uses of corpsenm.  Also remove one check for this field from
potion.c: there are no blessed potions from sinks.

21 years agokicking a drawbridge
cohrs [Tue, 30 Sep 2003 18:49:48 +0000 (18:49 +0000)]
kicking a drawbridge
There was some unreachable code in dokick related to drawbridges.  Since I
liked the current "Ouch!" behavior, I moved the drawbridge test inside the
IS_STWALL code but made sure to update the maploc so kickstr would return
the right thing.  Since there may be more than one drawbridge (perhaps it
should test for Valkyrie?) changed the kickstr prefix for drawbridge to "a".

21 years agoputting a saddle on a cockatrice
cohrs [Tue, 30 Sep 2003 18:46:49 +0000 (18:46 +0000)]
putting a saddle on a cockatrice
If you try to put a saddle on a cockatrice, you turn to stone,
even if wearing gloves.  This seemed inconsistent with other cases,
and I couldn't think of a reason why you'd touch the cockatrice with
another body part, so I added the uarmg test.

21 years agowin32gui: missing but for UI tweaks (from <Someone>)
nethack.allison [Tue, 30 Sep 2003 03:44:34 +0000 (03:44 +0000)]
win32gui: missing but for UI tweaks (from <Someone>)

"Count: XXXX" was getting cut-off in the menu

21 years agoSAFERHANGUP win32gui (from <Someone>)
nethack.allison [Tue, 30 Sep 2003 03:42:01 +0000 (03:42 +0000)]
SAFERHANGUP win32gui (from <Someone>)

21 years agoSAFERHANGUP win ce (from <Someone>)
nethack.allison [Tue, 30 Sep 2003 03:41:02 +0000 (03:41 +0000)]
SAFERHANGUP win ce (from <Someone>)

21 years agoconflicting delayed killers
cohrs [Mon, 29 Sep 2003 21:33:51 +0000 (21:33 +0000)]
conflicting delayed killers
fixes entry for the delayed killers change

21 years agoconflicting delayed killers
cohrs [Mon, 29 Sep 2003 19:24:20 +0000 (19:24 +0000)]
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

21 years agoU678 - message ordering
cohrs [Mon, 29 Sep 2003 16:22:11 +0000 (16:22 +0000)]
U678 - message ordering

21 years agoU675 fix
nethack.allison [Mon, 29 Sep 2003 02:20:18 +0000 (02:20 +0000)]
U675 fix

if the monster that a statue represents is not made of flesh then don't
allow stone_to_flesh to animate it, make a meatball instead

21 years agosound cleanup
kmhugo [Sun, 28 Sep 2003 03:42:50 +0000 (03:42 +0000)]
sound cleanup

+ Separate the two uses of flags.soundok.
+ Player-settable option is now called "acoustics".
+ Deafness is now handled as a full-fledged attribute.
+ Check for deafness in You_hear(), rather than caller.
+ Check for deafness in caller, rather than verbalize(),
  because gods can speak to characters in spite of deafness.
+ Since changes are being made to prop.h, reorder it to the
  same order as youprop.h and enlightenment.

There are still some extraneous checks and missing checks
for deafness, which will be followed up in a future patch.

Because of the size of this patch and its savefile incompatibilities,
it is only being applied to the trunk code.  Portions of this patch
were written by Michael Allison.

21 years agolint tidbit
kmhugo [Sun, 28 Sep 2003 00:10:23 +0000 (00:10 +0000)]
lint tidbit

21 years ago^X tabbed field support
nethack.allison [Sat, 27 Sep 2003 22:37:52 +0000 (22:37 +0000)]
^X tabbed field support

21 years agoguidebook grammar bit
cohrs [Sat, 27 Sep 2003 15:55:35 +0000 (15:55 +0000)]
guidebook grammar bit

21 years agowin32gui (from <Someone>)
nethack.allison [Sat, 27 Sep 2003 12:30:28 +0000 (12:30 +0000)]
win32gui (from <Someone>)

trunk and branch:
Do not limit role selection list by race/gender/alignment. The default.nh
selection will still be honored but the list itself will include every
possible role.

Some interface tweaks for main trunk:
- improved calculation of the size of the menu window
- made auto-arrange windows on/off option (it was reset automatically
  which was unintuitive and in some cases annoying, IMO)

21 years agoanimation of wielded statue
nethack.rankin [Fri, 26 Sep 2003 10:27:36 +0000 (10:27 +0000)]
animation of wielded statue

     Fix the reported bug of problems after casting stone-to-flesh spell
on self while wielding a statue.  Pointers for worn items weren't kept in
sync and various potential symptoms could occur (most easily visible one
being that ')' falsely reported the no longer existing statue as still
wielded; report stated that one crash was observed).  This bug predates
3.4.2 and was probably present ever since stone-to-flesh got introduced.

21 years agovms catchup (context)
nethack.rankin [Fri, 26 Sep 2003 09:56:38 +0000 (09:56 +0000)]
vms catchup (context)

21 years agodismounting next to a boulder
cohrs [Fri, 26 Sep 2003 03:31:09 +0000 (03:31 +0000)]
dismounting next to a boulder
It makes sense that if you cannot normally move to a location containing a
boulder, dismounting there should be avoided if possible.  It seems
that it should be possible to land there if there's no other choice.
Perhaps doing so should result in damage, but that's not in this patch.

21 years agofog cloud and aquatic monsters
cohrs [Fri, 26 Sep 2003 01:03:46 +0000 (01:03 +0000)]
fog cloud and aquatic monsters
<Someone> pointed out the inappropriate appearance of the 3.4.2 message when
fog clouds have you engulfed if you happen to be polymorphed into an aquatic
creature.  It does seem that a fog cloud should not cause added damage to
amphibious creatures, which includes breathless (but non-flaming) monsters.
I also thought another message was more appropriate for flaming creatures
(see on_fire()), and added a special case for that.
gulpum was missing symmetric code and I added it there too.

21 years agovarious tests of flaming monsters
cohrs [Fri, 26 Sep 2003 00:37:24 +0000 (00:37 +0000)]
various tests of flaming monsters
This change adds a new flaming() macro and uses it in several places
where the list of flaming monsters was tested.  on_fire() didn't list
salamanders as already being on fire, but should have.  A couple other
cases were not updated to include flaming sphere.

21 years agoU673 - hooks and grappling hook working thru walls
cohrs [Thu, 25 Sep 2003 22:44:27 +0000 (22:44 +0000)]
U673 - hooks and grappling hook working thru walls
While wearing the Eyes of the Overworld, one could use a hook or pole thru
walls.  The bug report thought they should work past a boulder, but I
disagree, given a pole or hook's rigid nature, and did not special case that.
couldsee() is not affected by the Eyes, so use that after checking cansee().

21 years agokiller messages
cohrs [Thu, 25 Sep 2003 16:56:56 +0000 (16:56 +0000)]
killer messages
Incorporate various killer message grammar fixes suggested by <Someone>.
Mostly these deal with using the proper killer_format and prefix ("the" or
no "the") for unique and type_is_pname monsters, or death to to eating
their corpses.
One case is handled by a general fix to name_to_mon to allow it to deal
with "Croesus' corpse".
The pre-3.4.1 topten behavior for "starved to death" messages is also restored.

21 years agoU651 - avoid declaring errno unnecessarily
cohrs [Wed, 24 Sep 2003 02:12:22 +0000 (02:12 +0000)]
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.

21 years agoU659 - "destroy" manes
cohrs [Wed, 24 Sep 2003 01:29:54 +0000 (01:29 +0000)]
U659 - "destroy" manes
Nethack's manes are based on AD&D manes which are in turn based on the
manes of Roman legend.  They are supposed to be spirits of the dead.
To that end, added them to the nonliving() macro.  The biggest behavioral
change is that death spells no longer effect them, which does technically
make them a bit tougher but also makes sense.  Also, they're so wimpy, it's
hard to believe anyone would use a death/disintegration on them anyway.

21 years agoU665: gold and unpaid containers
cohrs [Tue, 23 Sep 2003 22:01:14 +0000 (22:01 +0000)]
U665: gold and unpaid containers
The choice was to avoid one of the two sellobj() calls in in_container.
Since I liked the message ordering "put gold into... credit" better than
"credit... put gold into", the code now avoids the 1st sellobj call for coins.

21 years agocontext build changes for Unix
cohrs [Mon, 22 Sep 2003 05:21:53 +0000 (05:21 +0000)]
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

21 years agofix cvs macro
nethack.allison [Sun, 21 Sep 2003 13:34:52 +0000 (13:34 +0000)]
fix cvs macro

21 years agocommit new file context.h
nethack.allison [Sun, 21 Sep 2003 13:32:36 +0000 (13:32 +0000)]
commit new file context.h

21 years agovictual follow-up
nethack.allison [Sun, 21 Sep 2003 13:25:56 +0000 (13:25 +0000)]
victual follow-up

Since context is saved prior to inventory
ensure that the o_id is valid immediately.