Changes to be committed:
modified: src/pager.c
When the previous occurrence that triggered a segfault
was fixed, I didn't check for more of them. It turns out there
were more instances.
This also removes some dead code.
Changes to be committed:
modified: src/pager.c
Steps to reproduce the reported segfault:
Use / command, answer n, press space and enter
In do_look() variable glyph is only set to a proper
value if using the screen (from_screen) or the
mouse (clicklook).
On the code path that triggered the segfault,
glyph was being passed to mapglyph with a random
arbitrary value.
If glyph had been initialized at the start of
do_look(), it would have prevented the segfault,
but would have always displayed a giant ant or
something silly instead of the correct thing.
Don't use glyph except under
from_screen || clicklook.
Explore mode is now an extended command #exploremode.
There's no sense that a command used max. once per game, and
in normal games not at all, takes up a key. So, analogous to
the 'x' command (swap weapons), 'X' now toggles two-weapon
combat.
When looting a location with multiple containers, show a menu for user
to pick the containers to loot instead of asking a yes/no question for
each container.
On NAO, one of the major complaints was accidental escaping
from wishing prompt when using cursor keys. The users were
trying to go "back" on the entry to fix a typo, but lost
the wish instead.
This prevents escaping out of a text prompt if there is any
text entered into the prompt; pressing escape clears the prompt.
Show as much of the status line as possible, instead of chopping
it at COLNO - this prevents possible game-influencing status
effects (Ill, Burdened, etc) from being hidden.
If you run a server, then you know of the somewhat annoying perm_lock
errors that creep up, requiring your attention before anyone else can
start a game.
This patch properly implements fcntl(2) locking on systems that can
handle it (*nix systems), that results in the lock being automatically
released on program termination, whether abnormal or not.
Original patch by Drew Streib, update by Edoardo Spadolini
-"bat" overrode later "combat" entry.
-"gelatinous cube" and "jack boot" have their own entries.
-"vampire bat" matched twice; use the bat entry.
-dagger attribution started with spaces instead of tabs.
On 3/1/2015 10:37 AM, coppro wrote:
> >> Sun SPARC based machine running SunOS 4.x, Solaris 2.x, or
> Solaris 7
>
> By release time, I should have access to a BSD flavour installed on a SPARC
> machine. Would out be helpful for me to do cursory tests?
On 3/1/2015 10:41 AM, lorimer wrote:
> I have access to a Borland environment too, so I'll be
> borrowing that at some point. [Just not soon.]
I didn't include the above, just in case they don't happen.
The README can, of course, be updated again once they have
been tried.
This finally eliminates all direct increases of `oeroded` and `oeroded2`
and moves them all to go via `erode_obj()`. They are still manipulated
directly in a few places, but not to erode objects.
This now merges the `fire_damage()` function to a common codepath, used
for items on lava and burning oil, but fire needs more work. There is
still a duplication between `destroy_item()` and `fire_damage()`; the
two codepaths should eventually be merged in some manner so that there
is only one codepath to say "an object was affected by fire". This path
might require some parameters, such as whether the fire will just erode
objects or burn them outright, but that can happen another day.
This now ensures that dipping into water works like other sources of
water damage. There is a potentially significant gameplay change here:
dipping a container into uncursed water will wet all its contents. If
this is a problem, then we should add another parameter to water_damage
which will suppress this behaviour for dipping.
This reverts commit 7f0f43e6f9 and some related
subsequent commits.
This compiles, but I have not done extensive testing.
Conflicts:
include/config.h
include/decl.h
include/extern.h
include/global.h
include/tradstdc.h
include/wintty.h
src/drawing.c
src/files.c
src/hacklib.c
src/mapglyph.c
src/options.c
sys/winnt/nttty.c
win/tty/getline.c
win/tty/topl.c
win/tty/wintty.c