Commit Graph

7998 Commits

Author SHA1 Message Date
Bart House
0c71f0caac Removing spaces at end of lines. 2018-12-16 19:43:02 -08:00
Bart House
ed9082a99a First set of changes to move globals to instance_globals. 2018-12-16 19:43:02 -08:00
nhmall
a93066ba83 Merge branch 'NetHack-3.6.2' 2018-12-16 17:39:55 -05:00
nhmall
6eb90b76d9 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2018-12-16 17:39:39 -05:00
PatR
0fe6a731df fix #H2204 - mkclass() mon selection distribution
That #H number isn't a typo.  This finally fixes--at least improves--
something reported eight years ago.  The monster types chosen by
mkclass() could be way off in some circumstances.  Cited example was
repeated same-race sacrifice by chaotic hero on dungeon level 20; it
produced about twice as many incubi as succubi even though they're
the same as far as difficulty goes.  (No changes in the intervening
years had any discernable effect; that was still reproducible.)
The report also mentioned that ndemon() threw away the result from
mkclass() and retried quite often and suggested that mkclass() be
taught to filter by alignment when caller cared about that.

This seems to even things out, although it also made harder monsters
chosen more often.  A test program generated these numbers when
picking a chaotic demon 10000 times (level 1 hero on dungeon level 20,
so not realistic; actually probably level 0 hero since the program
didn't initialize struct u.)  Third column is the number of times the
monster type was chosen with the old mkclass(), fourth is same for
the new one.
    mkclass() calls    27315 10000
286 succubus            2800  3309
288 incubus             5552  3262
291 marilith             973   780
292 vrock                477  1617
293 hezrou               150   626
294 bone devil            46   247
295 ice devil              2   107
296 nalfeshnee             0    23
297 pit fiend              0    15
298 sandestin              0     4
299 balrog                 0    10
Note that vrock has generation frequency 2 and marilith only 1, so
getting twice as many vrocks as mariliths should be expected.

I temporarily changed ndemon() to ask for lawful demons instead of
chaotic ones and got this.
    mkclass() calls    15762 10000
287 horned devil        3197  3375
289 erinys              4991  3339
290 barbed devil        1812  3286

I also ran it for dragons with any alignment (so the outcome was
never thrown away; 10000 calls were needed for 10000 picks) instead
of demons of specific alignment and am suspicious of the outcome.
    mkclass() calls    10000 10000
140 baby yellow dragon  1124     0
141 gray dragon         1096  1096
142 silver dragon       1073  1099
143 red dragon          1061  1126
144 white dragon        1077  1128
145 orange dragon       1141  1118
146 black dragon        1154  1049
147 blue dragon         1137  1123
148 green dragon        1137  1154
149 yellow dragon          0  1107
There may be a flaw in the test program.  Or else old mkclass() was
not very good at picking dragons.
2018-12-16 14:21:30 -08:00
nhmall
16f651c338 Merge branch 'NetHack-3.6.2' 2018-12-16 08:00:30 -05:00
nhmall
bbdaac9c5c Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2018-12-16 08:00:05 -05:00
nhmall
42d9af1b23 don't show stubs in window port valid list 2018-12-15 23:11:52 -05:00
nhmall
9b16cf373c Merge branch 'NetHack-3.6.2' 2018-12-15 23:00:49 -05:00
nhmall
d127fd1c0e Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2018-12-15 23:00:26 -05:00
nhmall
91092cfa89 Merge branch 'NetHack-3.6.2-beta01' into win-minor 2018-12-15 22:58:32 -05:00
Bart House
6ae5931a63 Updateda PDCurses Visual Studio project to latest PDCurses content. 2018-12-15 19:52:58 -08:00
nhmall
e2c78002bb Merge branch 'NetHack-3.6.2-beta01' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6.2-beta01 2018-12-15 22:40:07 -05:00
nhmall
9de6c25e7e clean exit on window port init failure 2018-12-15 22:36:24 -05:00
PatR
dddbb66927 building lev_comp with USE_OLDARGS
The relatively recent change to lev_comp do deal with apparent junk
in some places in its generated data has triggered a bunch of
 "cast to 'vA' (aka 'const char *') from smaller integer type 'int'
 [-Wint-to-pointer-cast]"
from clang when building with USE_OLDARGS.  Probably should have
added a zillion explicit casts to long and 'L' suffix for 0 rather
than trying to handle both int and long.  Or maybe just turned off
that particular warning, which must be coming from -Wall or -Wextra.

This modification has no effect for USE_STDARG or USE_VARARGS configs.
2018-12-15 19:27:08 -08:00
nhmall
1b1ea19e57 comment out PDCurses bt default again 2018-12-15 22:04:55 -05:00
nhmall
91ef66b052 Merge branch 'NetHack-3.6.2-beta01' into win-minor 2018-12-15 22:03:44 -05:00
nhmall
31c4eba835 Guidebook bit 2018-12-15 22:03:05 -05:00
nhmall
1b0719a8cc Makefile.msc update
Tell people where to find the latest PDCurses git
repository
2018-12-15 21:52:00 -05:00
Bart House
3af29b4f26 Merge branch 'win-minor' of https://rodney.nethack.org:20040/git/NHsource into win-minor 2018-12-15 17:35:43 -08:00
Bart House
6cec6a88a5 Added PDCurses project to VS 2017 build. 2018-12-15 17:35:27 -08:00
nhmall
d20ea9c140 Merge branch 'master' into NetHack-3.7 2018-12-15 19:42:45 -05:00
nhmall
2508c98b4d Merge branch 'NetHack-3.6.2' 2018-12-15 19:42:23 -05:00
nhmall
08567ea6c0 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2018-12-15 19:41:59 -05:00
nhmall
718c029994 Merge branch 'win-minor' into NetHack-3.6.2-beta01 2018-12-15 19:34:56 -05:00
nhmall
902f76d1fa more win32 gui fuzzer work 2018-12-15 19:31:42 -05:00
nhmall
bebc92f6fb more win32 gui fuzzer work 2018-12-15 19:31:07 -05:00
PatR
594cb5f226 tty SIGHUP
We still don't know whether this will be of any help against
disconnected processes that hog the CPU instead of exiting, but I
don't think it imposes significant overhead on ones which aren't
disconnected.  Install it before it suffers from more bit rot.
2018-12-15 16:24:59 -08:00
nhmall
786034131f remove some out-of-date fixes entries 2018-12-15 18:47:56 -05:00
PatR
27a515a4cc get_hilite_color()
Stop pretending that long and int are the same size when picking status
highlight rule for gold or time or experience-points.

Also, K&R compilation might lack <limits.h>, so let XXXconf.h define the
necessary macro(s) (currently just LONG_MAX) so that it can be skipped.
2018-12-15 15:46:49 -08:00
nhmall
3709fcbffa Merge branch 'NetHack-3.6.2' 2018-12-15 18:25:08 -05:00
nhmall
f80f20074e Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2018-12-15 18:18:28 -05:00
Bart House
d77545128b Merge branch 'win-minor' of https://rodney.nethack.org:20040/git/NHsource into win-minor 2018-12-15 14:50:14 -08:00
Bart House
266b5e3891 Small improvements to fuzzer for NetHackW.
Can toggle fuzzer on/off using "Pause" key if attached to debugger.
Extended command selected randomly.
2018-12-15 14:49:59 -08:00
Patric Mueller
7d15535923 Fix always trapped castle chest 2018-12-15 22:40:30 +01:00
nhmall
be9d974c4d Makefile.msc update 2018-12-15 02:17:15 -05:00
nhmall
56051e0b9b Merge branch 'NetHack-3.6.2-beta01' into win-minor 2018-12-14 23:11:37 -05:00
nhmall
16cda0882c fix up PDCurses cursor placement for prompts 2018-12-14 23:08:41 -05:00
PatR
436f8a9fde tty status condition: Cf, Hl, Rd
While the fuzzer was running, amidst the continual screen updating I
caught a glimpse of "Cn" and was puzzled about how the hero became
cancelled.  I quickly realized it actually meant confused, but I
think "Cf" is a better abbreviation for that.  I've also changed "Ha"
to "Hl" for hallucination and "Ri" to "Rd" for riding.  The rest is
formatting.
2018-12-14 18:51:07 -08:00
PatR
aa5a85f4da displacing pet long worm
Salvage part of an old patch.  Swapping places with any long worm,
even a baby one, always failed with "You stop.  Foo is in the way!"
This lets you swap places with tame baby long worms, and adult ones
if they have no tail (which won't happen unless there are more than
32 long worms on the current level--even if a long worm appears to
be only a head, there is normally a hidden tail segment at the same
location).
2018-12-14 18:17:42 -08:00
nhmall
f6625995d4 Merge branch 'NetHack-3.6.2' 2018-12-14 17:27:26 -05:00
nhmall
600c2d5db9 Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2 2018-12-14 17:26:15 -05:00
nhmall
1be3ad0ddc Merge branch 'NetHack-3.6.2-beta01' into win-minor 2018-12-14 17:25:24 -05:00
PatR
d8e430b907 last? pickup_types
Although choose_classes_menu() is only used for objects, it is written
to handle monsters too.  My change to give <space> special handling
might have broken selecting ghosts if it's ever used for monsters so
fix that.
2018-12-13 23:52:35 -08:00
Bart House
67037f18b5 Remove parameter names in declaration. 2018-12-13 21:23:43 -08:00
nhmall
b71df7b144 Merge branch 'win-minor' into NetHack-3.6.2-beta01 2018-12-13 21:25:34 -05:00
PatR
d18ddb2c95 more interactive !pickup_types
More on clearing pickup_types so that autopickup reverts to picking up
evertyhing:  for menustyle:Full and Partial, add a menu entry for 'all
classes' as an alternative to unselecting every class already set.

Also, Full and Partial had no way to include venom.  Now it's a choice
when in wizard mode.  There's still no way--other than switching to
Traditional or Combination--during normal play (where venom objects can
exist if they were wished for in wizard mode and then left in bones).
2018-12-13 17:33:46 -08:00
nhmall
bdae51503c stale dependency 2018-12-13 20:21:26 -05:00
nhmall
5e37d5b5d4 commented out by default 2018-12-13 20:11:03 -05:00
nhmall
e6e2d8a257 Merge branch 'NetHack-3.6.2-beta01' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6.2-beta01 2018-12-13 20:08:47 -05:00