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.
argv[0] 0x00b40800 "C:\test\binary\nethackw.exe"
argv[1] 0x00b40878 ""C:\test\binary\nethackw.exe""
argv[2] 0x00b408f0 "-uwizard"
argv[3] 0x00b40938 "-D"
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....
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:
win32_map_mode:[tiles|ascii4x6|ascii6x8|ascii8x8
|ascii16x8|ascii7x12|ascii8x12|ascii15x12
|ascii12x16|ascii10x18|fit_to_screen]=20
win32_align_status:[left|top|right|bottom]
win32_align_message:[left|top|right|bottom]
Note: aligning status window to left or right edge of the screen does
not look good.
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.)
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.)
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.
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.
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.
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.
Files patched:
include/extern.h
src/save.c, shk.c, spell.c
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().
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.
--Ken A
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.
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
so that it will not be included in the diff between
the versions.
Also note that the -ko option in effect for that file
causes it to leave the value at whatever is
checked in from now on.
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.
Files patched:
include/extern.h
src/do_name.c, pager.c