From 5690cce584c81c82770f699cd4895d643408eb1c Mon Sep 17 00:00:00 2001 From: nhmall Date: Sun, 20 Oct 2019 11:21:47 -0400 Subject: [PATCH 1/4] one new rumor --- dat/rumors.tru | 1 + 1 file changed, 1 insertion(+) diff --git a/dat/rumors.tru b/dat/rumors.tru index 0a6ff45b0..464ee8c3a 100644 --- a/dat/rumors.tru +++ b/dat/rumors.tru @@ -151,6 +151,7 @@ Someone once said that what goes up < might come down >. Someone's been spiking the pits! Sometimes monsters are more likely to fight each other than attack you. Spinach, carrot, and jelly -- a meal fit for a nurse! +Surviving the full extent of the mines could mean that your luck is changing. Tainted meat is even more sickening than poison! Telepathy is just a trick: once you know how to do it, it's easy. The Leprechaun Gold Tru$t is no division of the Magic Memory Vault. From 15d5942b2a95c748a65954a3bc5913f4921d7386 Mon Sep 17 00:00:00 2001 From: nhmall Date: Tue, 22 Oct 2019 09:40:10 -0400 Subject: [PATCH 2/4] fix recent bypass of obj placement --- src/dothrow.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/dothrow.c b/src/dothrow.c index 1b2a80184..827cdca73 100644 --- a/src/dothrow.c +++ b/src/dothrow.c @@ -1294,7 +1294,7 @@ boolean twoweap; /* used to restore twoweapon mode if wielded weapon returns */ || !index(in_rooms(mon->mx, mon->my, SHOPBASE), *u.ushops))) hot_pursuit(mon); - if (obj_gone || obj == uball) + if (obj_gone) thrownobj = (struct obj *) 0; } @@ -1306,6 +1306,8 @@ boolean twoweap; /* used to restore twoweapon mode if wielded weapon returns */ swallowit: if (obj != uball) (void) mpickobj(u.ustuck, obj); /* clears 'thrownobj' */ + else + clear_thrownobj = TRUE; goto throwit_return; } else { /* Mjollnir must we wielded to be thrown--caller verifies this; From b8effef5e402207f8f53209a812cfdf2b5ad826a Mon Sep 17 00:00:00 2001 From: nhmall Date: Tue, 22 Oct 2019 10:02:53 -0400 Subject: [PATCH 3/4] fix H9344: remove_object: obj not on floor (heavy iron ball & chain) --- doc/fixes36.3 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/fixes36.3 b/doc/fixes36.3 index b8ba97c9b..c8461fcc6 100644 --- a/doc/fixes36.3 +++ b/doc/fixes36.3 @@ -225,6 +225,8 @@ monster throwing from stack of missiles (darts, daggers, spears) would cause surviving death while polymorphed would yield "You are a " without terminating period 'mksobj failure' commit resulted in wrong corpse types for dying monsters +a recent intended sanity check fix inadvertently bypassed placing + a thrown chained ball back onto the floor curses: sometimes the message window would show a blank line after a prompt curses: the change to show map in columns 1..79 instead of 2..80 made the highlight for '@' show up in the wrong place if clipped map had been From b7ca0b4cc6502a92e3cb5485d8e075e1fde227b8 Mon Sep 17 00:00:00 2001 From: PatR Date: Tue, 22 Oct 2019 16:31:25 -0700 Subject: [PATCH 4/4] pull request #236 - tty's 'maxwin' 'maxwin' was not being get up to date. Just get rid of it. --- win/tty/wintty.c | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/win/tty/wintty.c b/win/tty/wintty.c index c7e7e290a..c4deaa151 100644 --- a/win/tty/wintty.c +++ b/win/tty/wintty.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 wintty.c $NHDT-Date: 1558400902 2019/05/21 01:08:22 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.209 $ */ +/* NetHack 3.6 wintty.c $NHDT-Date: 1571787079 2019/10/22 23:31:19 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.223 $ */ /* Copyright (c) David Cohrs, 1991 */ /* NetHack may be freely redistributed. See license for details. */ @@ -135,7 +135,6 @@ struct window_procs tty_procs = { genl_can_suspend_yes, }; -static int maxwin = 0; /* number of windows in use */ winid BASE_WINDOW; struct WinDesc *wins[MAXWIN]; struct DisplayDesc *ttyDisplay; /* the tty display descriptor */ @@ -1420,10 +1419,18 @@ int type; int i, rowoffset; int newid; - if (maxwin == MAXWIN) + for (newid = 0; newid < MAXWIN; ++newid) + if (wins[newid] == 0) + break; + if (newid == MAXWIN) { + panic("No window slots!"); + /*NOTREACHED*/ return WIN_ERR; + } + + newwin = (struct WinDesc *) alloc(sizeof (struct WinDesc)); + wins[newid] = newwin; - newwin = (struct WinDesc *) alloc(sizeof(struct WinDesc)); newwin->type = type; newwin->flags = 0; newwin->active = FALSE; @@ -1490,17 +1497,7 @@ int type; break; default: panic("Tried to create window type %d\n", (int) type); - return WIN_ERR; - } - - for (newid = 0; newid < MAXWIN; newid++) { - if (wins[newid] == 0) { - wins[newid] = newwin; - break; - } - } - if (newid == MAXWIN) { - panic("No window slots!"); + /*NOTREACHED*/ return WIN_ERR; } @@ -2447,7 +2444,7 @@ winid window; free_window_info(cw, TRUE); free((genericptr_t) cw); - wins[window] = 0; + wins[window] = 0; /* available for re-use */ } void