Commit Graph

5633 Commits

Author SHA1 Message Date
PatR
366043f714 tribute catch-up 2016-01-04 17:30:05 -08:00
PatR
a037c6fc28 tribute: The Light Fantastic 2016-01-04 17:19:56 -08:00
PatR
e8e1673df7 build fix for ck_server_admin_msg()
ck_server_admin_msg() is only available for '#if (UNIX && MAIL)' but
moveloop() tried to call it unconditionally.  Call if from the UNIX
edition of ckmailstatus() instead.
2016-01-04 16:51:24 -08:00
Pasi Kallinen
1e0b16c99d Add the compile-time options to fixes-file 2016-01-04 23:19:49 +02:00
Pasi Kallinen
e9b0fa23d2 Add server admin messaging functionality
It's occasionally important for public servers to notify
all the players. Sending a mail is not reliable, as not everyone
wants to break conduct, or have mail on.

This adds a compile-time defined filename, which NetHack
will monitor. The contents of the file are in the same
format as SIMPLE_MAIL: "sender:message" on one line.
2016-01-04 23:04:59 +02:00
Pasi Kallinen
89e4d5e9fa Add SIMPLE_MAIL compile-time option for public servers 2016-01-04 19:54:36 +02:00
Pasi Kallinen
34b45a2c10 Add an alternative paniclog format as compile-time option 2016-01-04 18:05:16 +02:00
PatR
44a9f1db17 fix reformatting typo in monmove.c
Fix the vault guard error in dochug() discovered by Alex K.  The
behavior of a vault guard ignoring Conflict when confronting the
hero in the vault and escorting him through the temporary corridor
isn't affected.  3.4.3 already behaved that way.  (I didn't track
the cause of that down so don't know whether it's intentional.)
2016-01-03 16:22:22 -08:00
nhmall
3198c3bf79 shk segfault diagnostic workaround but not fix
Changes to be committed:
	modified:   src/shk.c
2016-01-03 11:33:03 -05:00
nhmall
c4d45d6960 make some mextra guard macros available
Changes to be committed:
	modified:   doc/fixes36.1
	modified:   include/mextra.h
2016-01-03 10:48:47 -05:00
Pasi Kallinen
d1ef006eef Fix bz241, H4143: LoS still blocked after mimic hit by force bolt 2016-01-03 16:27:55 +02:00
PatR
f279a9ec0d fix #H4153 - killed by kicking something weird
Steps to make sure 'kickedobj' didn't end up as a stale pointer
prevented it from being around to format the reason for death when
a kicking attempt was fatal.
2016-01-03 00:36:31 -08:00
Pasi Kallinen
cb574aadcc Split wallification into two by function 2016-01-03 00:36:36 +02:00
Pasi Kallinen
0106901078 Move and reorder ap exc, menucolor and msgtype entries in options
Move autopickup exception, menucolor, and message type entries
in the options menu under "Other settings" -header, and reorders
them into alphabetical order.

Also use enums instead of hardcoded values.
2016-01-02 13:40:53 +02:00
nhmall
8da7375c21 Files update 2016-01-01 22:04:15 -05:00
nhmall
14ce76a159 windows visual studio 2013 build updates 2016-01-01 22:01:25 -05:00
nhmall
adcb7dc202 Merge branch 'NetHack-3.6.0' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6.0 2016-01-01 20:37:12 -05:00
nhmall
61148f05bb SYSCF_FILE corrections for windows
Changes to be committed:
	modified:   src/files.c
	modified:   sys/share/pcmain.c

Related to #H4170, bz274

The current startup code seeks out the SYSCONFPREFIX using:
	envp = nh_getenv("COMMONPROGRAMFILES");
which is fine and usually translates to something like
"C:\\Program Files (x86)\\Common Files\\
NetHack then tacks on the NetHack subfolder to the path
"C:\\Program Files (x86)\\Common Files\\NetHack\\"

That should always be the definitive location.

However, in the event that there is no SYSCF_FILE actually
located at that system-wide spot (and ONLY in that event),
fall back to a secondary location of HACKDIR for locating
the SYSCF_FILE.

Also, there's some explicit tweaking added for the Microsoft
visual studio compiler debug execution to all a debug
session to correctly locate things. By default, on a
visual studio build, the executables are linked down in
subfolders of the build directory (Release, or Debug,
depending on visual studio build configuration options).
2016-01-01 20:33:14 -05:00
Pasi Kallinen
8b0ada1d31 Allow scrolling X11 extended cmd menu with cursors 2016-01-02 00:47:10 +02:00
nhmall
c70d466325 wizweight optional
Changes to be committed:
	modified:   include/flag.h
	modified:   include/hack.h
	modified:   src/objnam.c
	modified:   src/options.c
2016-01-01 16:17:46 -05:00
Pasi Kallinen
8e7e79448e Enable scroll bar in X11 menu windows 2016-01-01 21:24:55 +02:00
nhmall
fce9f1131d improve messaging on vampire bat to fog cloud transition in Vlad's
Bug 271 - #H4167: vampires being fog clouds show up as bats on telepathy

A bug reporter wrote:
> In top level of Vlad's, the vampires hiding as fog clouds in the closets show
> up on telepathy as B, when far-looked as vampire bat.  once the door opens they
> are fog clouds.
>
> I currently have telepathy from the PYEC.

The vampire /was/ shapeshifted into a vampire bat, but once the secret door
was revealed, it shifted into a fog cloud in order to pass under the door.

If you were to blast the door with a wand of striking from a distance,
you would have encountered the vampire bat.

This clarifies the situation through better messaging.

--------
Original debug call stack trace:
     NetHack.exe!newcham(monst * mtmp, permonst * mdat, char polyspot, char msg) Line 3140
     NetHack.exe!vamp_shift(monst * mon, permonst * ptr) Line 1598
     NetHack.exe!m_move(monst * mtmp, int after) Line 1219
     NetHack.exe!dochug(monst * mtmp) Line 566
     NetHack.exe!dochugw(monst * mtmp) Line 100
     NetHack.exe!movemon(...) Line 707
     NetHack.exe!moveloop(char resuming) Line 105
     NetHack.exe!main(int argc, char * * argv) Line 105
2016-01-01 11:17:57 -05:00
nhmall
9a5340a3bf windows: fix undefined reference in release build
Changes to be committed:
	modified:   win/win32/mswproc.c
2015-12-31 20:26:47 -05:00
nhmall
4566b2903f windows: PDB files in Debug and Release 2015-12-31 20:16:48 -05:00
PatR
3c43f155aa tribute: The Colour of Magic 2015-12-31 15:07:06 -08:00
nhmall
fff3425de4 Happy New Year 2016
Changes to be committed:
	modified:   include/patchlevel.h
2015-12-31 17:26:25 -05:00
PatR
a236f9d5f6 fix bz265 - accessibility fix for reluctant pet
Requested by a blind player.  The message "Fido moves only reluctantly"
didn't convey enough information to be useful.  Describe the reason why
the move is reluctant:  "Fido steps reluctantly over <some object>."

If there is a pile, it will describe the top item rather than whichever
cursed item the pet doesn't want to step on.
2015-12-30 23:38:11 -08:00
Pasi Kallinen
7be8e1f8bb Another tiny formatting fix 2015-12-30 17:41:48 +02:00
Pasi Kallinen
e29c21f367 Tiny formatting fix 2015-12-30 17:29:44 +02:00
PatR
da0876482e fix #H4147 - "unlockable chest" desc is misleading
Change "unlockable" to "broken" so that it won't be misunderstood to
mean "capable of being unlocked".  The accompanying suggestion to omit
"broken" unless/until a lock or unlock attempt is made is no good since
the main reason for describing the broken lock is to avoid unnecessary
attempts to lock or unlock a container that the hero knows to be broken
but the player may have forgotten.

I also changed remote look-at for objects to use distant_name(doname)
instead of distant_name(xname) so that qualifiers like "empty" and
"broken" will show up on chests you've investigated before but aren't
standing on now.  Monster type for corpse also gets shown, instead of
just 'food (corpse)'.  Other remote items will become more verbose,
but only those that the hero has already seen up close.
2015-12-30 02:33:42 -08:00
nhmall
5964438e8f use explicit int sizes in win/share/tile2bin.c
64-bit longs caused tile2bin to write an invalid bmp file.
2015-12-29 21:21:05 -05:00
PatR
5834ace823 fix 'doterrain menu bug'
From a report sent directly to devteam:  the #terrain command had the
same bug as the '`' command (which was one of the very first ones
reported):  impossible("add_menu called before start_menu").  Only X11
notices.
2015-12-29 15:09:50 -08:00
PatR
0c2443ebd0 fix 'blind sink behavior'
Reported directly to devteam:  teleporting or polymorphing a sink when
dropping the relevant ring into it was suppressed if the hero couldn't
see it happen.

Being unable to see the sink transform or vanish shouldn't stop that
from happening.  Since the hero is known to not be levitating (because
of the sink), it can be assumed that he can feel the transformation or
vanishment (is that a real word?), so use the same messages regardless
of blindness.
2015-12-28 17:32:31 -08:00
PatR
a05826d06d occupation vs running
Noticed while testing a potential change to running while confused:
when confusion timed out, I kept running even though I was headed in
the wrong direction.  Timeout calls stop_occupation() but running is
not an occupation.

Make stop_occupation() also stop counted activity under control of
the player (ie, multi > 0).  Some places in the code use both
stop_occuation() and nomul(0), some just use one or the other.  But
most of those probably intend for both.
2015-12-28 15:10:22 -08:00
PatR
901317f57c force TIMED_DELAY for OSX
Outputing extra characters to induce a delay is useless on OSX, so set
TIMED_DELAY by default instead of relying on user to do it.
2015-12-28 14:35:23 -08:00
Pasi Kallinen
ff30a56e3e Add config file examples to Guidebook 2015-12-28 20:00:50 +02:00
Pasi Kallinen
a5ed69288f Split get_rnd_toptenentry from tt_oname 2015-12-28 18:06:48 +02:00
Pasi Kallinen
32305ace5c Prevent minotaur in mines end and bigroom mazes 2015-12-28 17:42:55 +02:00
PatR
e43e97b021 death-reason sanitizing
Prevent commas, equal signs, and tabs in reason for death.  Comma
can make while-helpless reason ambiguous in record and basic logfile.
Equal sign can do the same for fixrecord.awk, the awk program that
can be used to fix up corrupted 3.6.0 record files, if it resorts to
constructing logfile records out of xlogfile records.  And tab could
break parsing of xlogfile (it should already be excluded though; the
code that lets players assign names to monsters uses mungspaces(), and
one of the things that does is to convert any tab into a space before
squeezing consecutive spaces down to one).

The name alteration shows up for tombstone as well as for file entries.
That could be changed but hardly seems worth the effort.  Perhaps the
name sanitizing ought to be moved to the initial naming?  At least then
it would be pretty obvious that it was intentional rather by mistake.
2015-12-27 17:43:58 -08:00
PatR
67e6029723 tribute: Snuff 2015-12-27 01:46:12 -08:00
nhmall
5226484bab remove extraneous bit from cut and paste 2015-12-26 19:35:58 -05:00
nhmall
a156a4a3a5 meant to be part of previous commit
Changes to be committed:
	modified:   src/trap.c
2015-12-26 19:27:15 -05:00
nhmall
6117eddc62 one statue from single vampire via cockatrice corpse
Changes to be committed:
	modified:   doc/fixes36.1
	modified:   include/extern.h
	modified:   src/mon.c

Fixes H4148 (bz246) and H4150 (bz248)

comments:
I wielded a c-corpse against a shapeshifting vampire bat (checked with a
stethoscope, it said "shapeshifter".) The bat turned to stone and spawned a
vampire.  I hit the vampire and it also turned to stone, so I had two statues
from one monster (vampire bat and vampire.)  Not sure if this is a bug or a
feature...

comments:
Engulfed by a fog cloud that was actually a Vampire,
and got the message: "You break out of the vampire!"
2015-12-26 19:08:08 -05:00
Pasi Kallinen
e55dd6919a Fix prot from shape changers at level generation
Mimics and other shape changers created at level generation
did not obey protection from shape changers.
2015-12-26 21:40:22 +02:00
Pasi Kallinen
3c9b0f25b6 Add alternate spelling of prot from shape changers 2015-12-26 13:12:59 +02:00
PatR
e429415832 fix #H4144 - rejecting named monster's own name
Some monsters can't be named, but if the user tried to assign them a
name that matched what they were already called, the rejection message
could be silly.  Reported case was "I'm Izchak, not Izchak!".  The fix
is more general than just for shopkeepers, although their reject
message was silliest when complaining about the name already in use.
For the cited case, feedback will now be 'He is already called Izchak.'
2015-12-25 23:36:44 -08:00
PatR
eea54fb773 more attribute from-what
A change earlier today resulted in infravision being described by
enlightenment (wizard mode only) as "from current creature form" when
it was actually due to hero's non-human race.  Now it'll be "innately".
2015-12-25 22:25:56 -08:00
PatR
c4a9d6a45c newline handling
In light of the recent 'bad options' feedback issue where \r messed
up message display, try to to make newline handling be more consistent.
I'm sure there are lots of places that still handle \n manually, but
it's a start.
2015-12-25 21:54:01 -08:00
PatR
1c80503938 fix #H4146 - more enlightenment vs drain resistance
Duplicate of another recent report as far as drain resistance from
Excalibur/Stormbringer/Staff of Aesculapius not being shown by
enlightenment goes, but this one mentioned that it also wasn't being
shown for lycanthropy.  Being inflicted by that does confers level-
drain resistance.  were_change() wasn't calling set_uasmon() since
it isn't changing youmonst.data, but set_uasmon() is were intrinsics
conferred by creature form are set up.  So call it when changing
were-form.  Direct access to u.ulycn wasn't calling it either, so add
a new routine to assign the value to that instead doing so directly.
2015-12-25 16:46:02 -08:00
PatR
0d36c443a3 fix #4040:2 - message typo for pet mind flayer
Mentioned in a completely unrelated report (about energy drain for
vortex attack):  the message given if a tame mind flayer is killed by
attempting to eat Medusa's brains had "then is passes" where "then it
passes" was intended.
2015-12-25 15:33:56 -08:00