nethack.allison [Fri, 25 Jan 2002 08:59:35 +0000 (08:59 +0000)]
Explicitly state the service pack of VC supported in Install.nt
Yitzhak discovered that there is a problem if you have the original
Visual Studio 6 with no service packs.
nethack.allison [Fri, 25 Jan 2002 07:19:21 +0000 (07:19 +0000)]
FIXES:
- added counting to the menu window. I changed the way it works in the TTY
port though ("you hear the rumble of distant thunder..." :) The count
applies to the currently selected item instead of being aplied to the item
to be selected (in other words a12 instead of 12a). It works better this
way in the graphical port since there is a notion of current menu item.
I also notes that the count is ignored for PICK_ONE menu - is this by
design?
- somebode mention that text is not scrollable by default - this is fixed.
- fixed player selection dialog to use initXXXX options
-----------------------
B1028 [reported] win32: popup window is too short
The text in the popup window's top line "What do you want to
call the ..." is cut off. Could the window be bigger, so you
can read the entire line?
Fixed.
---------------------
B1027 [reported] win32: select via traditional class char
In a shop (and perhaps elsewhere), I can autoselect a class of
items to drop: a for all types, b for coins, c for weapons, ...,
A for every item, B for blessed items, ... I like the new
possibilities, but I would like to be able to use the old way of
using ! for potions, ) for weapons, etc., as well.
I want to set packorder and pickup_types. The first comes up
first, and I type in the order. Then comes the second, without
any hint what is asked of me. A little explanation here would
be appropriate, like "pick up what things automatically?" or
somesuch. When more than one option is set where extra input
is required, some explanation is useful.
Looking into. Apparently something end_menu() call is ignored by nethackw.
---------------------
B1025 [reported] win32: menu navigation
I press O. Now, when I press "a" to turn on "autodig", not only
is the mark set at "a", but there also appears a dotted
rectangle around option "A" (capitalized). Shouldn't this
rectangle also appear at "a"? Pressing "a" repeatedly toggles
the checkmark, but the rectangle switches between "A" and "a".
My CAPS LOCK is not set. The same goes for B, C, D, ... N,
by the way. Pressing "A" works the other way around: the first
press checks "A" and "rectangles" "a", the next unchecks "A"
and rectangles "A" as well.
Fixed.
---------------------
B1024 [reported] win32: no text in final window
After I clicked away the last screen with information
(challenges, I believe it was), I got an empty text screen, as
big as my screen, without any content. It looked like the text
screens that appear on the right, only it was larger and had
only a large OK button over the full width of the window, and
no cancel button. Why this window?
Fixed. The program did not set window text for RIP window.
---------------------
B1010 [known issue] win32: cosmetic
When I get my list of spells, the columns aren't properly
aligned: if the spell name is longer, the rest of the line
shifts right.
Fixed. Fixed-pitch font is used for menu window.
---------------------
B1004 [reported] win32: numeric keyboard Del/.-key
The Del/.-key on my numeric keyboard doesn't make me rest a turn
Fixed. Added rest on Del.
---------------------
B1003 [reported] win32: focus
When the window has the focus, the window bar isn't highlighted.
This is by design. Menu and text widnows are popup and the main
window is disabled when they are up.
cohrs [Fri, 25 Jan 2002 06:38:42 +0000 (06:38 +0000)]
landmines and boulders
Make pushing a boulder onto a landmine share code with the trap case,
resulting in pits, waking sleepers, et al.
Don't leave a boulder suspended over the new pit, fill it.
Make sure any remaining boulder is placed on top of the pile.
If player sets off landmine, monsters killed are credited to/blamed on player.
nethack.allison [Thu, 24 Jan 2002 23:40:58 +0000 (23:40 +0000)]
(from Steve VanDevender)
Not using FDECL to declare the prototype for dogmove.c:can_reach_food()
causes the Digital UNIX C compiler to throw a prototype mismatch error
when compiling dogmove.c.
warwick [Thu, 24 Jan 2002 05:49:04 +0000 (05:49 +0000)]
MacOSX/Qt system tweaks
These changes clean up build warnings and allow the resulting "NetHack"
Application icons to be dragged around freely in the Finder, as is expected
for Mac apps.
cohrs [Thu, 24 Jan 2002 03:13:56 +0000 (03:13 +0000)]
window.doc getlin clarification
Clarify the getlin interface, which is used with the implicit assumption
that an input buffer of size BUFSZ (including the nul) is sufficient.
nethack.rankin [Thu, 24 Jan 2002 02:54:06 +0000 (02:54 +0000)]
more GOLDOBJ
The earlier patch made sure that bribe() didn't pass an
invalid value to money2mon(). This one changes money2mon() so
that if some other code else does so, reporting the impossible
situation won't be followed by a splitobj panic. Most of this
patch is reformatting though.
nethack.allison [Thu, 24 Jan 2002 02:39:55 +0000 (02:39 +0000)]
Fix several touchstone-related things:
1. The switch statement was using the material "GOLD"
rather than GOLD_CLASS.
2. If getobj() had been working for gold when it
came to touchstones, there would have been a
memory leak here because the object returned
would have been from mkgoldobj(). The goldobj
was not being freed anywhere, nor was it being
put on a chain. You also would have had zero
gold after rubbing it on the stone. The intent
was clearly to allow gold since there was a
case in the switch statement.
3. getobj() wasn't working properly for gold
selection here anyway, so this was
not the cause of <Someone>'s gold obj in inventory.
You ended up dropping through to code that
was supposed to print "You cannot verb object."
For touchstones that came out as:
"You cannot rub on the stone gold."
cohrs [Thu, 24 Jan 2002 02:34:52 +0000 (02:34 +0000)]
another vision-related message
don't just say "the knife misses" when you can actually see the monster
with infravision by testing using the correct function
nethack.rankin [Wed, 23 Jan 2002 07:12:58 +0000 (07:12 +0000)]
micro fopenp() fix
From a bug report. I can't test this fix, but
inspection of the code shows that his suggested fix is clearly
necessary. Once `bp' gets incremented, storing via `bp[BUFSZ-1]'
writes beyond the bounds of `buf' and clobbers something.
nethack.allison [Wed, 23 Jan 2002 00:00:02 +0000 (00:00 +0000)]
It was ignoring the command line parameters
because there was an extraneous argv[1] that was
a repeat of the module name, but in quotation
marks. The processing in pcmain stops on the first
argument that doesn't start with '-' so my other
arguments got ignored.
nethack.allison [Tue, 22 Jan 2002 22:54:54 +0000 (22:54 +0000)]
Remove all uses of pushd/popd
in case someone wants to build on Windows98 where they don't exist.
They are available in NT or Windows 2000 only (and possibly XP).
nethack.allison [Tue, 22 Jan 2002 13:02:13 +0000 (13:02 +0000)]
rename winhack.dsp to nethackw.dsp
Adjust Install.nt to match.
Modify Makefile.nt to use ../binary directory for output by default,
just like the windows version does.
warwick [Tue, 22 Jan 2002 08:41:57 +0000 (08:41 +0000)]
Remove win/Qt/nethack.png
Obsoleted by nhsplash.xpm (a text format). The binary still has more detail,
but until someone has a use for it, I'll keep it aside.
nethack.rankin [Tue, 22 Jan 2002 06:59:00 +0000 (06:59 +0000)]
airplane/taxi transportation
The player can teleport objects and monsters on no-teleport
levels, a strange quirk which I think has become entranched as
a feature. When swallowed or engulfed, teleporting the monster
from inside ends up teleporting the character along with that
monster. Some players have been exploting this on Plane of Air
to avoid facing elementals and dragons and whatnot by repeatedly
teleporting any vortex that engulfs them until they land somewhere
in the vicinity of the portal leading to Plane of Fire.
This patch divides the Plane of Air into three zones that
teleportation can't cross. You'll arrive in the left-hand 30% of
the level, as before, but no longer at a specific spot. The exit
portal is in the right-hand 30% as before (although it used to
have more range, perhaps 40%). Teleporting within the left 30%
always arrives in that same area; within the central 40% always
remains within that same area; and teleporting within the right
30% always sticks in that area. So it's still possible to get
around quite a bit via multiple teleports, but you'll need to walk
at least across the two unmarked boundaries to actually traverse
the whole level.
A moderately long description for a very short patch....
nethack.allison [Tue, 22 Jan 2002 00:30:58 +0000 (00:30 +0000)]
From <Someone>,
Fixes:
- menu shortcuts implemented
- most windows close on space (except for menus with
PICK_ANY style)
- "hilite_pet" option is implemented
- map scrolling is improved somewhat (it now scrolls if
the char is within 5 spaces from the edge of the map -
configurable by #define CLIPAROUND_MARGIN)
- added 3 winhack-specific options:
arromdee [Mon, 21 Jan 2002 22:25:04 +0000 (22:25 +0000)]
polymorphed quest leader
Duuuh. Of course adding objects already changed the editlevel.
Anyway, here's the fix I was working on. It only matters in a very obscure
situation. (Also, the quest leader still speaks no matter what he's
polymorphed into.)
arromdee [Mon, 21 Jan 2002 22:15:22 +0000 (22:15 +0000)]
polymorphed quest leader
Duuuh. Of course adding objects already changed the editlevel.
Anyway, here's the fix I was working on. It only matters in a very obscure
situation. (Also, the quest leader still speaks no matter what he's
polymorphed into.)
nethack.allison [Mon, 21 Jan 2002 03:35:04 +0000 (03:35 +0000)]
The word "zorkmid" was hard-coded in format strings all
over the place.
Often they would use
"%ld zorkmid%s", amt, plur(amt)
but not consistently, so some of the hard-coded usage
could result in "1 zorkmids"
This adds the function
currency(long)
to return the name of the currency, either plural
or singular depending on the argument passed to it.
That eliminates the need for the extra %s in the
format string and the use of the plur() macro.
cohrs [Mon, 21 Jan 2002 03:25:50 +0000 (03:25 +0000)]
cost of eating an unpaid tin
The cost of an unpaid tin should be calculated before eating, not after,
so the cost will be based on your pre-eating hunger, not post.
cohrs [Sun, 20 Jan 2002 22:25:16 +0000 (22:25 +0000)]
xprname fix
The GOLDOBJ fix I posted back on 1/3 caused "Ix" to access a null pointer
(obj) while generating the total line. This patch fixes the bug I added to
xprname.
cohrs [Sun, 20 Jan 2002 21:05:29 +0000 (21:05 +0000)]
starting the game without a pet
Incorporate a slightly cleaned up version of <Someone>'s patch to enable a
"pettype:none" startup option that allows one to start the game without a pet.
nethack.rankin [Sun, 20 Jan 2002 09:53:36 +0000 (09:53 +0000)]
stale spellbook pointer
If you get interrupted while reading a spellbook and then
the book gets destroyed or you change levels, the object pointer
remembered for the book will be invalid and could accidentally
match one subsequently allocated to some other book. That would
result in "you continue your efforts to memorize the spell" when
starting to read that other book; it would also end up bypassing
the reading difficulty check and reuse the old book's delay counter.
I don't remember who reported this. It was quite some time
ago and I have an abandoned patch dated last March from when I
first started to fix it.
cohrs [Sun, 20 Jan 2002 07:04:18 +0000 (07:04 +0000)]
lava effects for monsters and objects
This patch, based on code sent to us by <Someone> well over a year ago, addresses
bugs recently resurfaced. Namely, that lava does not generally do anything
to monsters or objects that land in java. Newly renamed minliquid() handles
both water and lava, and new fire_damage() is used similar to water_damage().
arromdee [Sun, 20 Jan 2002 06:17:20 +0000 (06:17 +0000)]
monster spells
This fixes the problem with my monster spell changes which let monsters
summon monsters around you when they don't even know you're around.
The summoned monsters should appear where the monster thinks you are, if
you're invisible or displaced.
I have not prevented them from summoning monsters when you are in a temple,
nor have I prevented them from aggravating monsters several times when you're
out of sight.
Messages should be a little smarter, taking into account number of monsters
and invisibility/displacement.
kmhugo [Sun, 20 Jan 2002 05:44:46 +0000 (05:44 +0000)]
Jousting
Players wielding a lance while riding will "joust" monsters
they attack.
Note that monsters don't get pushed into inaccessable tiles such
as walls, doors, iron bars, water, or lava; they stay at the edge.
Further refinements are possible for these cases.
cohrs [Sat, 19 Jan 2002 19:08:24 +0000 (19:08 +0000)]
map update followup to lev_comp.l change
The change to allow digits in maps causes the comments that were
incorrectly placed inside MAP/ENDMAP blocks to be seen as valid
map lines. They were quietly skipped before by the old scanner.
Move them out.
-dlc
nethack.rankin [Sat, 19 Jan 2002 06:52:03 +0000 (06:52 +0000)]
lookat of high priests
One from <Someone>'s list: there's no particular reason for
the High Priest of Moloch in the temple on the sanctum level in
Gehennom to have his identity concealed when he's detected from
a distance. I also changed the concealment of the Astral Plane
to stop when you're adjacent to the priest, since #chat--among
other things, such as simply entering the temple--provides other
means of identifying which temple it is once you're there.
kmhugo [Sat, 19 Jan 2002 06:06:16 +0000 (06:06 +0000)]
Line numbering in lev_comp files
This patch allows the digits 0-9 to be used to indicate line numbers
in the MAP...ENDMAP arrays of level files. This makes it a wee
bit easier to place features. The digits get stripped out before
the map is interpreted.
kmhugo [Sat, 19 Jan 2002 05:34:34 +0000 (05:34 +0000)]
Autoquiver fix
Implement a patch which <Someone> posted on the newsgroup back in September:
"If I had my druthers, daggers would be chosen over other
weapons if there's no missiles or suitable ammo available, and weapons
not designed for throwing wouldn't be chosen at all."
nethack.rankin [Sat, 19 Jan 2002 04:15:46 +0000 (04:15 +0000)]
wiz_level_change cleanup
The new routine needed to do something with u.ulevelmax
(which controls whether lost levels can be regained via magic).
This sets it to the new level rather than having it go up or
down the same amount as the user specified in the level change,
which yields a plausible reason for using this command to set
experience level explicitly to its current value.
The new code was using a mixture of spaces and tabs for
indentation; I've totally reformatted it.
nethack.allison [Sat, 19 Jan 2002 04:12:57 +0000 (04:12 +0000)]
fix contributor's name
I don't know whether fixes33.2 will ever be made public,
but let's get the names of people whose patches we used
spelled correctly just in case.
nethack.allison [Fri, 18 Jan 2002 20:30:00 +0000 (20:30 +0000)]
data.base updates
Regarding the Shrieker source,
http://www.peldor.com/chapters/story678.html:
" The player characters depicted in these stories are copyright
1991-2000 by Thomas A. Miller. Any resemblance to any persons
or characters either real or fictional is utterly coincidental.
Copying and/or distribution of these stories is permissible under
the sole condition that no money is made in the process. In that
case, I hope you enjoy them!
nethack.allison [Fri, 18 Jan 2002 19:14:13 +0000 (19:14 +0000)]
From <Someone>
This was caused by character set incompatibility between message and map
windows. Apparently, Nethack is using IBM character set (CP 437) but fonts
were create for Windows ANSI codepage. I fixed most of it by changing
character set of the fonts except for the Rogue level. I had to make changes
to src/drawing.c for Rogue level since most of Windows fonts are not capable
of displaying control characters (char. code<0x20)
And of course, disabling IBMGraphics option fixes it all.
nethack.allison [Fri, 18 Jan 2002 19:00:09 +0000 (19:00 +0000)]
Some touchstone tuning...
If you have an unidentified gray stone in your pack,
you just had to use the 'a'pply command. If it was
a touchstone, it would be included in the list,
otherwise it wouldn't.
This allows any stone to be included in the 'a'pply
command.
Also, adds missing punctuation to the use_stone()
messages.