From dbf3816cc4bf53432fd2dbc1a208a02b4c8b171e Mon Sep 17 00:00:00 2001 From: PatR Date: Thu, 20 Sep 2018 16:16:58 -0700 Subject: [PATCH 1/7] do_name.c cleanup Some formatting and several things that warrant being 'static'. --- src/do_name.c | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/src/do_name.c b/src/do_name.c index 4c7653776..b6decaa86 100644 --- a/src/do_name.c +++ b/src/do_name.c @@ -50,7 +50,7 @@ boolean FDECL((*gp_getvalidf), (int, int)); getpos_getvalid = gp_getvalidf; } -const char *const gloc_descr[NUM_GLOCS][4] = { +static const char *const gloc_descr[NUM_GLOCS][4] = { { "any monsters", "monster", "next monster", "monsters" }, { "any items", "item", "next object", "objects" }, { "any doors", "door", "next door or doorway", "doors or doorways" }, @@ -60,7 +60,7 @@ const char *const gloc_descr[NUM_GLOCS][4] = { "anything interesting" } }; -const char *const gloc_filtertxt[NUM_GFILTER] = { +static const char *const gloc_filtertxt[NUM_GFILTER] = { "", " in view", " in this area" @@ -90,11 +90,11 @@ getpos_help(force, goal) boolean force; const char *goal; { + static const char *const fastmovemode[2] = { "8 units at a time", + "skipping same glyphs" }; char sbuf[BUFSZ]; boolean doing_what_is; winid tmpwin = create_nhwindow(NHW_MENU); - const char *const fastmovemode[2] = { "8 units at a time", - "skipping same glyphs" }; Sprintf(sbuf, "Use '%c', '%c', '%c', '%c' to move the cursor to %s.", /* hjkl */ @@ -275,8 +275,8 @@ int glyph; } STATIC_OVL int -gloc_filter_floodfill_matcharea(x,y) -int x,y; +gloc_filter_floodfill_matcharea(x, y) +int x, y; { int glyph = back_to_glyph(x, y); @@ -308,7 +308,7 @@ gloc_filter_init() { if (iflags.getloc_filter == GFILTER_AREA) { if (!gloc_filter_map) { - gloc_filter_map = selection_opvar(NULL); + gloc_filter_map = selection_opvar((char *) 0); } /* special case: if we're in a doorway, try to figure out which direction we're moving, and use that side of the doorway */ @@ -321,8 +321,6 @@ gloc_filter_init() } else { gloc_filter_floodfill(u.ux, u.uy); } - - } } @@ -331,7 +329,7 @@ gloc_filter_done() { if (gloc_filter_map) { opvar_free_x(gloc_filter_map); - gloc_filter_map = NULL; + gloc_filter_map = (struct opvar *) 0; } } @@ -466,7 +464,7 @@ boolean fulldir; /* explicit direction; 'one step' is implicit */ Sprintf(buf, "%s", directionname(dst)); } else { - const char *dirnames[4][2] = { + static const char *dirnames[4][2] = { { "n", "north" }, { "s", "south" }, { "w", "west" }, @@ -543,7 +541,8 @@ int cx, cy; cc.x = cx; cc.y = cy; - if (do_screen_description(cc, TRUE, sym, tmpbuf, &firstmatch, (struct permonst **)0)) { + if (do_screen_description(cc, TRUE, sym, tmpbuf, &firstmatch, + (struct permonst **) 0)) { (void) coord_desc(cx, cy, tmpbuf, iflags.getpos_coords); custompline(SUPPRESS_HISTORY, "%s%s%s%s%s", firstmatch, *tmpbuf ? " " : "", tmpbuf, @@ -590,6 +589,7 @@ int gloc; coord tmpcc; const char *firstmatch = "unknown"; int sym = 0; + any.a_int = i + 1; tmpcc.x = garr[i].x; tmpcc.y = garr[i].y; @@ -804,11 +804,12 @@ const char *goal; msg_given = TRUE; goto nxtc; } else if (c == Cmd.spkeys[NHKF_GETPOS_LIMITVIEW]) { - const char *const view_filters[NUM_GFILTER] = { + static const char *const view_filters[NUM_GFILTER] = { "Not limiting targets", "Limiting targets to in sight", "Limiting targets to in same area" }; + iflags.getloc_filter = (iflags.getloc_filter + 1) % NUM_GFILTER; for (i = 0; i < NUM_GLOCS; i++) { if (garr[i]) { @@ -845,6 +846,7 @@ const char *goal; if (iflags.getloc_usemenu) { coord tmpcrd; + if (getpos_menu(&tmpcrd, gloc)) { cx = tmpcrd.x; cy = tmpcrd.y; @@ -1513,7 +1515,7 @@ namefloorobj() (cc.x == u.ux && cc.y == u.uy) ? "under you" : "there"); return; } - /* note well: 'obj' might be as instance of STRANGE_OBJECT if target + /* note well: 'obj' might be an instance of STRANGE_OBJECT if target is a mimic; passing that to xname (directly or via simpleonames) would yield "glorkum" so we need to handle it explicitly; it will always fail the Hallucination test and pass the !callable test, @@ -2025,9 +2027,9 @@ static NEARDATA const char *const hliquids[] = { "instant coffee", "tea", "herbal infusion", "liquid rainbow", "creamy foam", "mulled wine", "bouillon", "nectar", "grog", "flubber", "ketchup", "slow light", "oil", "vinaigrette", "liquid crystal", "honey", - "caramel sauce", "ink", "aqueous humour", "milk substitute", "fruit juice", - "glowing lava", "gastric acid", "mineral water", "cough syrup", "quicksilver", - "sweet vitriol", "grey goo", "pink slime", + "caramel sauce", "ink", "aqueous humour", "milk substitute", + "fruit juice", "glowing lava", "gastric acid", "mineral water", + "cough syrup", "quicksilver", "sweet vitriol", "grey goo", "pink slime", }; const char * @@ -2035,7 +2037,7 @@ hliquid(liquidpref) const char *liquidpref; { return (Hallucination || !liquidpref) ? hliquids[rn2(SIZE(hliquids))] - : liquidpref; + : liquidpref; } /* Aliases for road-runner nemesis From a18ae517f876da53d82a6b7c31991f9ae66d456d Mon Sep 17 00:00:00 2001 From: nhmall Date: Fri, 21 Sep 2018 11:31:01 -0400 Subject: [PATCH 2/7] some orctown follow-up bits, fix Bad fruit #0 and some minor tuning --- dat/data.base | 30 ++++++++++++++++++++ doc/fixes36.2 | 2 +- include/extern.h | 3 +- include/hack.h | 3 +- src/dog.c | 2 +- src/dokick.c | 16 ++++++----- src/makemon.c | 2 +- src/mkmaze.c | 73 +++++++++++++++++++++++++++++++++++++----------- src/objnam.c | 7 +++++ 9 files changed, 109 insertions(+), 29 deletions(-) diff --git a/dat/data.base b/dat/data.base index f10a9e581..ebb781af7 100644 --- a/dat/data.base +++ b/dat/data.base @@ -4089,6 +4089,13 @@ acolyte there may well be wonderful universes above us where reason is utterly unreasonable?" [ The Innocence of Father Brown, by G.K. Chesterton ] +paddle cactus + Opuntia, commonly called prickly pear, is a genus in the cactus + family, Cactaceae. Prickly pears are also known as tuna (fruit), + sabra, nopal (paddle, plural nopales) from the Nahuatl word + nopalli for the pads, or nostle, from the Nahuatl word nochtli + for the fruit; or paddle cactus. + [ Wikipedia, the free encyclopedia ] prisoner Where am I? In the Village. @@ -4355,6 +4362,29 @@ rogue conceal it; and therein am I constant to my profession. [ Autolycus the Rogue, from The Winter's Tale by William Shakespeare ] +root +dwarven root + But when they were cooked these roots proved good to eat, + somewhat like bread; and the outlaws were glad of them, for + they had long lacked bread save when they could steal it. + "Wild Elves know them not; Grey-elves have not found them; + the proud ones from over the Sea are too proud to delve," + said Mim. + + "What is their name?" said Turin. Mim looked at him sidelong. + "They have no name, save in the Dwarf-tongue, which we do not + teach," he said. "And we not teach Men to find them, for Men + are greedy and thriftless, and would not spare till all the + plants had perished; whereas now they pass them by as they go + blundering in the wild. No more will you learn of me; but you + may have enough of my bounty, as long as you speak fair and + do not spy or steal." Then again he laughed in his throat. + + "They are of great worth." he said. "More than gold in the + hungry winter, for they may be hoarded like the nuts of a + squirrel, and already we were building our store from the + first that are ripe." + [ Unfinished Tales, Part 1, by J.R.R. Tolkien ] roshi Roshi is a Japanese word, common in Zen Buddhism, meaning "old" (ro) and "teacher" (shi). Roshi can be used as a term of diff --git a/doc/fixes36.2 b/doc/fixes36.2 index 3014b1d10..ca1054a86 100644 --- a/doc/fixes36.2 +++ b/doc/fixes36.2 @@ -140,7 +140,7 @@ tty: turn off an optimization that is the suspected cause of Windows reported partial status lines following level changes tty: ensure that current status fields are always copied to prior status values so that comparisons are correct - +orctown: prevent Bad fruit #0 and some minor tuning Platform- and/or Interface-Specific Fixes ----------------------------------------- diff --git a/include/extern.h b/include/extern.h index ed186e667..7e1fb1270 100644 --- a/include/extern.h +++ b/include/extern.h @@ -521,7 +521,7 @@ E void FDECL(container_impact_dmg, (struct obj *, XCHAR_P, XCHAR_P)); E int NDECL(dokick); E boolean FDECL(ship_object, (struct obj *, XCHAR_P, XCHAR_P, BOOLEAN_P)); E void FDECL(obj_delivery, (BOOLEAN_P)); -E void FDECL(deliver_obj_to_mon, (struct monst *mtmp, unsigned long)); +E void FDECL(deliver_obj_to_mon, (struct monst *mtmp, int, unsigned long)); E schar FDECL(down_gate, (XCHAR_P, XCHAR_P)); E void FDECL(impact_drop, (struct obj *, XCHAR_P, XCHAR_P, XCHAR_P)); @@ -1703,6 +1703,7 @@ E const char *FDECL(helm_simple_name, (struct obj *)); E const char *FDECL(mimic_obj_name, (struct monst *)); E char *FDECL(safe_qbuf, (char *, const char *, const char *, struct obj *, char *(*)(OBJ_P), char *(*)(OBJ_P), const char *)); +E int FDECL(shiny_obj, (CHAR_P)); /* ### options.c ### */ diff --git a/include/hack.h b/include/hack.h index f65d2ddd1..555a08818 100644 --- a/include/hack.h +++ b/include/hack.h @@ -272,8 +272,7 @@ typedef struct sortloot_item Loot; /* flags for deliver_obj_to_mon */ #define DF_NONE 0x00 -#define DF_RANDOM2 0x01 -#define DF_RANDOM3 0x02 +#define DF_RANDOM 0x01 #define DF_ALL 0x04 /* special mhpmax value when loading bones monster to flag as extinct or diff --git a/src/dog.c b/src/dog.c index 46cd832ef..1dc4018b9 100644 --- a/src/dog.c +++ b/src/dog.c @@ -410,7 +410,7 @@ boolean with_you; if ((mtmp->mspare1 & MIGR_LEFTOVERS) != 0L) { /* Pick up the rest of the MIGR_TO_SPECIES objects */ if (migrating_objs) - deliver_obj_to_mon(mtmp, DF_ALL); + deliver_obj_to_mon(mtmp, 0, DF_ALL); } if (xlocale && wander) { diff --git a/src/dokick.c b/src/dokick.c index b2d36de70..4a4ac6b93 100644 --- a/src/dokick.c +++ b/src/dokick.c @@ -1671,20 +1671,22 @@ boolean near_hero; } void -deliver_obj_to_mon(mtmp, deliverflags) +deliver_obj_to_mon(mtmp, cnt, deliverflags) +int cnt; struct monst *mtmp; unsigned long deliverflags; { struct obj *otmp, *otmp2; - int where, cnt = 0, maxobj = 0; + int where, maxobj = 1; - if (deliverflags & DF_RANDOM3) - maxobj = rn2(3) + 1; - else if (deliverflags & DF_RANDOM2) - maxobj = rn2(2) + 1; - else if (deliverflags == DF_NONE) + if ((deliverflags & DF_RANDOM) && cnt > 1) + maxobj = rnd(cnt); + else if (deliverflags & DF_ALL) + maxobj = 0; + else maxobj = 1; + cnt = 0; for (otmp = migrating_objs; otmp; otmp = otmp2) { otmp2 = otmp->nobj; where = (int) (otmp->owornmask & 0x7fffL); /* destination code */ diff --git a/src/makemon.c b/src/makemon.c index 55dc7b49d..ee87d332e 100644 --- a/src/makemon.c +++ b/src/makemon.c @@ -1391,7 +1391,7 @@ int mmflags; } if (allow_minvent && migrating_objs) - deliver_obj_to_mon(mtmp, DF_RANDOM2); /* in case there's waiting items */ + deliver_obj_to_mon(mtmp, 1, DF_NONE); /* in case there's waiting items */ if (!in_mklev) newsym(mtmp->mx, mtmp->my); /* make sure the mon shows up */ diff --git a/src/mkmaze.c b/src/mkmaze.c index 8282205f8..4639f04a9 100644 --- a/src/mkmaze.c +++ b/src/mkmaze.c @@ -632,6 +632,7 @@ char *s; } #define ORC_LEADER 1 +static const char *orcfruit[] = {"paddle cactus", "dwarven root"}; void migrate_orc(mtmp, mflags) @@ -652,7 +653,7 @@ unsigned long mflags; nlev = max_depth; mtmp->mspare1 = MIGR_LEFTOVERS; } else { - nlev = rn2(max_depth - cur_depth) + cur_depth + 1; + nlev = rn2((max_depth - cur_depth) + 1) + cur_depth; if (nlev == cur_depth) nlev++; if (nlev > max_depth) @@ -663,6 +664,38 @@ unsigned long mflags; migrate_to_level(mtmp, ledger_no(&dest), MIGR_RANDOM, (coord *) 0); } +void +shiny_orc_stuff(mtmp) +struct monst *mtmp; +{ + int gemprob, goldprob, otyp; + struct obj *otmp; + boolean is_captain = (mtmp->data == &mons[PM_ORC_CAPTAIN]); + + /* probabilities */ + goldprob = is_captain ? 600 : 300; + gemprob = goldprob / 4; + if (rn2(1000) < goldprob) { + if ((otmp = mksobj(GOLD_PIECE, FALSE, FALSE)) != 0) { + otmp->quan = 1L + rnd(goldprob); + otmp->owt = weight(otmp); + add_to_minv(mtmp, otmp); + } + } + if (rn2(1000) < gemprob) { + if ((otmp = mkobj(GEM_CLASS, FALSE)) != 0) { + if (otmp->otyp == ROCK) + dealloc_obj(otmp); + else + add_to_minv(mtmp, otmp); + } + } + if (is_captain || !rn2(8)) { + otyp = shiny_obj(RING_CLASS); + if ((otmp = mksobj(otyp, FALSE, FALSE)) != 0) + add_to_minv(mtmp, otmp); + } +} void migr_booty_item(otyp, gang) int otyp; @@ -673,8 +706,13 @@ const char *gang; if (otmp && gang) { new_oname(otmp, strlen(gang) + 1); /* removes old name if one is present */ Strcpy(ONAME(otmp), gang); - if (otyp >= TRIPE_RATION && otyp <= TIN) + if (otyp >= TRIPE_RATION && otyp <= TIN) { + if (otyp == SLIME_MOLD) + otmp->spe = fruitadd((char *) orcfruit[rn2(SIZE(orcfruit))], + (struct fruit *) 0); otmp->quan += (long) rn2(3); + otmp->owt = weight(otmp); + } } } @@ -699,24 +737,16 @@ stolen_booty(VOID_ARGS) */ gang = rndorcname(gang_name); - /* create the leader of the orc gang */ - mtmp = makemon(&mons[PM_ORC_CAPTAIN], 0, 0, MM_NONAME); - if (mtmp) { - mtmp = christen_monst(mtmp, upstart(gang)); - mtmp->mpeaceful = 0; - migrate_orc(mtmp, ORC_LEADER); - } - /* create the stuff that the rest of the gang took */ - migr_booty_item(rn2(2) ? LONG_SWORD : SILVER_SABER, gang); - cnt = rn2(3) + 1; + /* create the stuff that the gang took */ + cnt = rnd(4); for (i = 0; i < cnt; ++i) migr_booty_item(rn2(4) ? TALLOW_CANDLE : WAX_CANDLE, gang); - cnt = rn2(2) + 1; + cnt = rnd(3); for (i = 0; i < cnt; ++i) migr_booty_item(SKELETON_KEY, gang); otyp = rn2((GAUNTLETS_OF_DEXTERITY - LEATHER_GLOVES) + 1) + LEATHER_GLOVES; migr_booty_item(otyp, gang); - cnt = rn2(9) + 1; + cnt = rnd(10); for (i = 0; i < cnt; ++i) { /* Food items - but no lembas! (or some other weird things) */ otyp = rn2((TIN - TRIPE_RATION) + 1) + TRIPE_RATION; @@ -727,6 +757,15 @@ stolen_booty(VOID_ARGS) otyp != HUGE_CHUNK_OF_MEAT && otyp != CORPSE) migr_booty_item(otyp, gang); } + migr_booty_item(rn2(2) ? LONG_SWORD : SILVER_SABER, gang); + /* create the leader of the orc gang */ + mtmp = makemon(&mons[PM_ORC_CAPTAIN], 0, 0, MM_NONAME); + if (mtmp) { + mtmp = christen_monst(mtmp, upstart(gang)); + mtmp->mpeaceful = 0; + shiny_orc_stuff(mtmp); + migrate_orc(mtmp, ORC_LEADER); + } /* Make most of the orcs on the level be part of the invading gang */ for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) { if (DEADMONSTER(mtmp)) @@ -751,14 +790,16 @@ stolen_booty(VOID_ARGS) * members of the invading gang until they get their spoils assigned * to the inventory; handled during that assignment. */ - cnt = rn2(7) + 5; + cnt = rn2(10) + 5; for (i = 0; i < cnt; ++i) { int mtyp; mtyp = rn2((PM_ORC_SHAMAN - PM_ORC) + 1) + PM_ORC; mtmp = makemon(&mons[mtyp], 0, 0, MM_NONAME); - if (mtmp) + if (mtmp) { + shiny_orc_stuff(mtmp); migrate_orc(mtmp, 0UL); + } } ransacked = 0; diff --git a/src/objnam.c b/src/objnam.c index 6588b7f9a..692291417 100644 --- a/src/objnam.c +++ b/src/objnam.c @@ -2753,6 +2753,13 @@ char oclass; return STRANGE_OBJECT; } +int +shiny_obj(oclass) +char oclass; +{ + return (int) rnd_otyp_by_namedesc("shiny", oclass); +} + /* * Return something wished for. Specifying a null pointer for * the user request string results in a random object. Otherwise, From 6c41eb3f915fa731d37feae1ea9788411aca3694 Mon Sep 17 00:00:00 2001 From: nhmall Date: Fri, 21 Sep 2018 11:42:16 -0400 Subject: [PATCH 3/7] fixes bit --- doc/fixes36.2 | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/fixes36.2 b/doc/fixes36.2 index ca1054a86..443dfec50 100644 --- a/doc/fixes36.2 +++ b/doc/fixes36.2 @@ -142,6 +142,7 @@ tty: ensure that current status fields are always copied to prior status values so that comparisons are correct orctown: prevent Bad fruit #0 and some minor tuning + Platform- and/or Interface-Specific Fixes ----------------------------------------- move 'perm_invent' value from flags to iflags to keep it out of save files; From 25fcaa614c2a1a535aea5af5acdc5732168975cc Mon Sep 17 00:00:00 2001 From: nhmall Date: Fri, 21 Sep 2018 11:54:43 -0400 Subject: [PATCH 4/7] another orctown follow-up tuning bit --- src/mkmaze.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mkmaze.c b/src/mkmaze.c index 4639f04a9..be6fcfd7f 100644 --- a/src/mkmaze.c +++ b/src/mkmaze.c @@ -651,6 +651,9 @@ unsigned long mflags; * orcs between here and the bottom of the mines. */ nlev = max_depth; + /* once in a blue moon, he won't be at the very bottom */ + if (!rn2(40)) + nlev--; mtmp->mspare1 = MIGR_LEFTOVERS; } else { nlev = rn2((max_depth - cur_depth) + 1) + cur_depth; @@ -692,7 +695,8 @@ struct monst *mtmp; } if (is_captain || !rn2(8)) { otyp = shiny_obj(RING_CLASS); - if ((otmp = mksobj(otyp, FALSE, FALSE)) != 0) + if ((otyp != STRANGE_OBJECT) && + (otmp = mksobj(otyp, FALSE, FALSE)) != 0) add_to_minv(mtmp, otmp); } } From 94e630e2e7d8dac5e329172d5a4754cf97b3ceb0 Mon Sep 17 00:00:00 2001 From: nhmall Date: Fri, 21 Sep 2018 14:57:12 -0400 Subject: [PATCH 5/7] include some fixes files from older versions in the distribution new file: doc/fixes23.e new file: doc/fixes30.pl01 new file: doc/fixes30.pl02 new file: doc/fixes30.pl03 new file: doc/fixes30.pl04 new file: doc/fixes30.pl05 new file: doc/fixes30.pl06 new file: doc/fixes30.pl07 new file: doc/fixes30.pl08 new file: doc/fixes30.pl09 new file: doc/fixes30.pl10 --- doc/fixes23.e | 214 +++++++++++++++++++++++++++++++++++++++++++++++ doc/fixes30.pl01 | 49 +++++++++++ doc/fixes30.pl02 | 80 ++++++++++++++++++ doc/fixes30.pl03 | 36 ++++++++ doc/fixes30.pl04 | 38 +++++++++ doc/fixes30.pl05 | 46 ++++++++++ doc/fixes30.pl06 | 38 +++++++++ doc/fixes30.pl07 | 35 ++++++++ doc/fixes30.pl08 | 59 +++++++++++++ doc/fixes30.pl09 | 11 +++ doc/fixes30.pl10 | 23 +++++ 11 files changed, 629 insertions(+) create mode 100644 doc/fixes23.e create mode 100644 doc/fixes30.pl01 create mode 100644 doc/fixes30.pl02 create mode 100644 doc/fixes30.pl03 create mode 100644 doc/fixes30.pl04 create mode 100644 doc/fixes30.pl05 create mode 100644 doc/fixes30.pl06 create mode 100644 doc/fixes30.pl07 create mode 100644 doc/fixes30.pl08 create mode 100644 doc/fixes30.pl09 create mode 100644 doc/fixes30.pl10 diff --git a/doc/fixes23.e b/doc/fixes23.e new file mode 100644 index 000000000..8b3920083 --- /dev/null +++ b/doc/fixes23.e @@ -0,0 +1,214 @@ + NetHack Fixes List Revision 2.3e + + New Files: + +Fixes.2.3 This file. + +Makefile.3B2 A new Makefile for the ATT 3B2. + +Spoilers.mm As above - pre nroff -mm + +food.tbl Tables for above manual +fount.tbl +monster.tbl +weapon.tbl + +nansi.doc Documentation for nansi.sys. + +hh Fixed improper def of "X" for casting spells. + +fight.c Dogname fix for "you hit your dog" line. (Janet Walz) + +pri.c Patch for "SCORE_ON_BOTL". (Gary Erickson) +config.h + +pray.c Null refrence bug fix for Suns. (The Unknown Hacker) + +termcap.c null pointer bug fix. (Michael Grenier) + +mon.c chameleon shape made dependent on current lev. (RPH) +spell.c +monmove.c + +rnd.c fixed SYSV/BSD problems with random(). (many sources) +config.h + +shk.c fix to allow compilation with or without HARD option. + (reported by The Unknown Hacker) + +termcap.c ospeed fix for SYSV. (reported by Eric Rapin) + +unixunix.c fix for NFS sharing of playground. (Paul Meyer) + +options.c many misc. bugs while compiling for the PC. (Tom Almy) +pcmain.c +pctty.c +hack.h +nethack.cnf +pager.c +fight.c + +mkroom.h Addition of reorganized special-room code. +mkshop.c (Eric S. Raymond) +mklev.c +rnd.c + +trap.c Fixed teleport to hell problems caused by rnz(). + (reported by Janet Walz) + +termcap.c Various fixes to MSDOSCOLOR code. (Tom Almy) +end.c + +hack.c Fixed typos. (Steve Creps) +msdos.c +pcmain.c + +config.h Enabled the use of termcap file c:\etc\termcap or +termcap.c .\termcap.cnf for MS Dos (Steve Creps) + +eat.c Continued implementation of Soldier code. +makedefs.c Added Barracks code. (Steve Creps) +makemon.c +mklev.c +mkroom.h +objects.h +mkshop.c +mon.c +monst.c +permonst.h + +makedefs.c Added Landmines code. (Steve Creps) +mklev.c +trap.c + +mkroom.h Fixed item / shop probablility code. (Stefan Wrammerfors) +shknam.c Added additional item typ available. + +pray.c Randomized time between prayers. (Stefan Wrammerfors) + +fight.c Fixed typo. (Stefan Wrammerfors) + +mhitu.c Fixed monster special abilities usage bug. + (Stefan Wrammerfors) + +objnam.c Randomized max number and max bonus limits on objects + wished for. + Identified cursed items shown as such. (Stefan Wrammerfors) + +topten.c Added logfile to allow overall game tuning for balance. +config.h (Stefan Wrammerfors) + +mklev.c moved code identifying medusa & wizard levs to eliminate +*main.c garbage on screen. (Izchak Miller) + +u_init.c fixed up luck wraparound bug (Izchak Miller) +hack.c +dothrow.c +fight.c +mon.c +play.c +save.c +sit.c + +mon.c fixed null referenced pointer bug. (The Unknown Hacker) + +config.h Hawaiian shirt code by Steve Linhart +decl.c +do_wear.c +extern.h +invent.c +mhitu.c +obj.h +objects.h +objnam.c +polyself.c +read.c +steal.c +u_init.c +worn.c + +config.h "THEOLOGY" code addition (The Unknown Hacker) +pray.c + +mklev.c Added typecasts to fix object generation bug on Microport +fountain.c Sys V/AT. (Jerry Lahti) + +Makefile.unix Added ${CFLAGS} to makedefs build line. (Jerry Lahti) +Makefile.att +Makefile.3B2 + +pager.c Inventory fix for "things that are here". (Steve Creps) + +cmd.c More wizard debugging tools: + ^F = level map + ^E = find doors & traps (Steve Creps) + +apply.c Blindfolded set/unset to "INTRINSIC" (many sources) + +lev.c new restmonchn() code. (Tom May) +save.c + +o_init.c OS independance in init_objects (Tom May) +objclass.h (removal of oc_descr_i) + +shk.c declaration of typename() (Tom May) + +apply.c declaration of lmonnam() (Tom May) + +mklev.c fixes to make medusa and wizard levels dependent on MAXLEVEL + (Richard Hughey as pointed out to him by John Sin) + +fountain.c added "coins in fountain" code. (Chris Woodbury) + +objects.h bound gem color to type (Janet Walz) +o_init.c + +spell.c spell list now displayed in the corner (Bruce Mewborne) + +apply.c multiple dragon types. (Bruce Mewborne) +cmd.c wand of lightning. +do.c ring of shock resistance. +do_name.c giant eel replaced by electric eel. +end.c "STOOGES" - three stooges code. +engrave.c Named dagger/short sword "Sting". +fight.c Lamps & Magic Lamps. +makemon.c A Badge - identifies you as a Kop. +config.h ^X option for wizard mode - gives current abilities. +mhitu.c New monster djinni '&' for Magic lamps. +mklev.c #rub command for lamps. +mkobj.c New monster: Gremlin 'G' augments Gnome on lower levels. +mon.c major modifications to buzz() code cleans it up. +monmove.c +monst.c objnam.c polyself.c potion.c +pri.c rip.c shk.c sit.c +u_init.c wizard.c zap.c makedefs.c +monst.h obj.h objects.h permonst.h +you.h *main.c *unix.c + +rnd.c fixed portability bug for 16 bit machines (Paul Eggert) + +mhitu.c fixed many lint flagged bugs (Izchak Miller) +apply.c +fight.c mklev.c mkmaze.c mkshop.c +monmove.c shknam.c trap.c wizard.c +zap.c shk.c do_name.c invent.c +unixtty.c pctty.c unixmain.c pcmain.c +do.c options.c termcap.c makemon.c +spell.c + +termcap.c major rewrite *** NOTE: Untested by MRS *** (Kevin Sweet) + +do_name.c reversed quantity check for "n blessed +xx items" + (Roland McGrath) + +config.h Added Kitchen Sink code (Janet Walz) +rm.h +decl.c do.c hack.c invent.c +makedefs.c mklev.c options.c pager.c +prisym.c wizard.c zap.c + +end.c Fixed "killed by" bugs in endgame code. (Steve Creps) + +objects.h Changed weight of a leash to a reasonable value. (Janet Walz) + + diff --git a/doc/fixes30.pl01 b/doc/fixes30.pl01 new file mode 100644 index 000000000..f20b73514 --- /dev/null +++ b/doc/fixes30.pl01 @@ -0,0 +1,49 @@ +As things have mostly settled down to rediscoveries of fixed bugs, +it is time to distribute the first batch of patches and ports. + + +NOTICE: The diffs comprising this update batch were cut on NetHack 3.0 + release version. If you modified any of your files, store them + and replace with release version files before applying this kit. + + +Changes made: + +Eric Smith provided a port to the Atari using gcc; the older Lattice C +vestiges moved to different preprocessor options and remain untested. + +Ralf Brown adapted NetHack to the Andrew File System. + +The fruit naming code was enclosed in a new option, TUTTI_FRUTTI, which +allows another 3K of object code to be defined out. + +Various tweaks, rewritings, and reshufflings to get the code to get along +with various compilers and preprocessors, including Microport SysV/AT 2.4, +Gould UTX/32, HP-UX, and of course Turbo C. + +Various suggested changes in behavior, none major. + +Distribution of termcap.uu, the uuencoded termcap.arc for PCs that was +previously distributed with NetHack 2.2 and 2.3. + +Explicit instructions to short-circuit common installation mistakes. + + +Bug fixes: + +Various segmentation faults no longer exist, including the popular dropping +items in shops. + +Vortices can no longer disappear through solid walls when they disgorge you +over a moat. + +You now get credit for food when engulfing monsters. + +A few more spelling errors that fell through the cracks. + + +Suggestion for overflowing compiler tables: follow the SysV-AT trail in the +src Makefile with -DDUMB and DUMB.Setup. It appears that many SVR2 3Bs will +need to do this. + + diff --git a/doc/fixes30.pl02 b/doc/fixes30.pl02 new file mode 100644 index 000000000..5ad9d19b2 --- /dev/null +++ b/doc/fixes30.pl02 @@ -0,0 +1,80 @@ +-------------- +UPDATE2 +-------------- +This patch kit upgrades NetHack to version 3.0f. The kit should +be applied to the original release, patched with patchlevel 1. + +Many of the diffs included here are bugfixes to bugs reported to +us by players. We are very grateful for these reports. + +There were questions about our netnews usage. We use the good +offices of comp.sources.games because, unlike rec.games.hack, it +is archived. It is the only way to secure the availability of +the source code and the official patches for future users. For +this reason, comp.sources.games will remain the only place where +the official NetHack patches are posted. + +Occasionally we may see a need to post a semi-official stopgap patch +such as the one for the 'killer' bug posted just after Patch 1 in +rec.games.hack and in comp.sources.games.bugs. These stopgap patches +will always be included in the next official patch kit. The 'killer' +bugfix is, indeed, included here. + +The above two newsgroups often contain many bug reports and unofficial +fixes. We read these groups, and thus we get the reports. But it +will be helpful if you mailed nethack-bugs a copy of your posting. +If your site gets these newsgroups, you may want to check them for +mentions of bugs before reporting the same bug to nethack-bugs (or +to the same newsgroups, for that matter -- unless you have additional +information). + + + +Now, on to the main changes. + +Objects were rearranged slightly, so the cautious may want to throw +out saved games and bones files. + +Timo Hakulinen provided an OS/2 port. + +Various people convinced various OS versions to be better about +sensing the available screen size at start-up. + +The game tries now to be smarter about guessing defaults for players +who don't set environment variables of interest to NetHack. + +Eric Raymond extended the PC color code slightly to allow its use by +SVR3.2 machines with color information from terminfo, and also allowed +many extended commands to be available via a meta key under SYSV. + +Paul Gyugyi provided a better makefile for MicroSoft C. + +The MSDOS terminal problems, including always needing TERMLIB, are +(hopefully) fixed. + +The '/' command now allows multiple identifications, and more things +may be usefully identified. + +More code was shuffled and rewritten to satisfy compiler and preprocessor +constraints. + +Starving dogs again eat people food. + +Credit cards can no longer lock things. + +Doors have been toned down slightly, but are in no danger of being removed. + +The gods' ranking of player troubles was revised. + +Wizards can no longer start with certain useless items. + +Various code, including game ending, seduction, and monster attack, is +considerably cleaner. + +Above all: scores of bugs were fixed. + + +Please continue testing the game and reporting to nethack-bugs. Your +response has been wonderful, and it has made this effort worth while. + + diff --git a/doc/fixes30.pl03 b/doc/fixes30.pl03 new file mode 100644 index 000000000..23df754ac --- /dev/null +++ b/doc/fixes30.pl03 @@ -0,0 +1,36 @@ +Date: Thu, 7 Sep 89 09:38:37 EDT +From: Izchak Miller + +The main changes included in patch kit 3 are as follows: + +A few new objects were added to objects.c, so old save/bones files +should be thrown out. + +Prototypes were adapted to satisfy ANSI C. Hopefully, we will not see +anymore postings which helpfully fix prototypes for ANSI, while breaking +them for the MSDOS compilers they were, originally, set up for. + +Use of $(MAKE), and a better use of $PAGER, in scripts. + +Improvements to OS/2 and TOS code, including their Makefiles. + +Graphics setting was centralized. + +Alignment was added to artifacts, and their suitability was improved. + +Discover mode games no longer use up bones files. + +Some excess 'register's that were giving Xenix trouble were removed. + +We settled an (amusing) argument over "rights" to available bits which +was responsible (unintentionally) for ring-wielding bestowing +long-lasting intrinsic attributes. + +In addition, many bugs were fixed. Among those were the problems +with polymorphing creatures that swallowed you, finishing with +containers, having chains eaten, external pagers, statue weights, wishing +loopholes, parsing endgame options, and monsters growing up. + +In other words, this is a nuts and bolts patch, nothing dramatic but +lots of cleanup. + diff --git a/doc/fixes30.pl04 b/doc/fixes30.pl04 new file mode 100644 index 000000000..10583ad23 --- /dev/null +++ b/doc/fixes30.pl04 @@ -0,0 +1,38 @@ +------------- +UPDATE4 +------------- +NOTICE: The changes which were made in the code make all save and bones +files absolete. Once Patch 4 is applied, all the old save and bones files +must be thrown out. + + +Here is a list of the main changes: + +Object and monster types got a new field specifying their color, so things +can now appear in "living color" instead having one color for all monsters, +one for all weapons, and so on. + +References to monsters and objects on the floor were moved to new structures, +which support the better color handling as well as provide yet faster access. + +David Gentzel provided a port for VMS. Although extensively tested by +David and others, and found to be sound, it probably needs further +refinements. We are appealing to those of you who know VMS (none of us +does..) to join David in his efforts to refine the VMS code. + +Much of the *main.c code was moved to a new file, to avoid having to update +that common code in three different *main.c files. + +VARARG handling was ifdef'd to satisfy ANSI compilers. + +Almost all grey creatures now join the other gray creatures. + +Monsters will no longer be created in the same room as the player, and should +no longer want to end up in the SE corner of the dungeon. + +Lycanthropy is now considered a "major problem" (allowing for appeal to the +gods through prayer), some artifacts are associated with particular character +classes, various oddities involving statues, digging, iron balls, and +throwing have been removed, and many other bugs, both major and minor, were +fixed. + diff --git a/doc/fixes30.pl05 b/doc/fixes30.pl05 new file mode 100644 index 000000000..6d222ef6f --- /dev/null +++ b/doc/fixes30.pl05 @@ -0,0 +1,46 @@ +Old bones and save files should at least be syntactically correct this time, +but you should still throw them out if you don't want to be confronted with +monsters permanently masquerading as different monsters (since some of the +monsters' letters have changed). + + +Note that the posted shop fix was a stopgap patch, not an official patch, so +it should be reversed before applying these patches. If you do not reverse +it, probably nothing worse than a failure of one shk.c band will happen this +time. In general, however, you will have to do considerable hand-patching if +you leave intermediate patches in. + + +The major bug fix in Patch 5 is moving the color definitions to color.h, thus +breaking the annoying dependency loop when bootstrapping NetHack. + +Patch 5 contains Johnny Lee's provision of a port to the Macintosh. The +Macintosh files live in a new subdirectory, 'mac'. We know that many of you +were waiting for a Mac port, and for you we are happy to have it. + +Basic support for several new other compilers or machines (see README), but +these probably need some more tweaking. + +A major new feature in Patch 5 is timed-out eating, i.e., being able to be +interrupted while eating by monsters attack. Mike Stephenson provided the +basic structure for dealing with partially eaten food. We believe that the +only remaining flaws in this code are occasional non-optimal messages which +are generated by it (we are working on correcting this). + +Incorrect iron ball behavior and bugs in the iron ball code were +systematically corrected by Kevin Darcy who communicated with us about it +and mailed us his patches. (Yes, Kevin, as you can see, it went in, and +with only one minor change.) + +There were other, smaller, patches which were mailed to us and which were +implemented. To repeat: we are very happy to receive bug-fixing patches +and code-enhancement patches. But please do as Kevin did, namely, tell us +about it in advance. + +Difficulties with dropping objects in shops, burning to death in hell, +wielding amulets, pets eating corpses were fixed. So were scores of other +small but annoying bugs. + +MICROPORT_BUG was added to cater to compilers that don't like large +structures. + diff --git a/doc/fixes30.pl06 b/doc/fixes30.pl06 new file mode 100644 index 000000000..398c69384 --- /dev/null +++ b/doc/fixes30.pl06 @@ -0,0 +1,38 @@ +This patch contains two major improvements: + +First, thanks to Ari Huttunen, different door states show up as different +(configurable) characters on the screen. + +Second, doors can now be entered/exited diagonally both for player and +monster. + +Third, a gaggle of people credited in the appropriate files developed an +overlay manager for MS-DOS and MSC such that all the options of NetHack can +be supported. See Install.dos and ovlmgr.* for further details. + +In more minor news: + +You no longer have to pick up food to eat it, and you no longer necessarily +resume eating your interrupted meal. + +You can no longer get properties from wielding a non-weapon. + +There is a new option, CLIPPING, which allows playing on small screens or +windows. + +The multiple demon types portion of HARD has been split off into the new +INFERNO option. + +The Macintosh port has been further refined. + +The / command now takes configurable characters into account when identifying +items. + +Leprechauns and lichs and nymphs and nagas had their letters switched so that +the more formidable monsters get capital letters. Several new low-level +monsters were added. + +Drawbridge interactions are much smarter, thanks to Kevin Darcy. + +And a large number of minor bug fixes and efficiency enhancements. + diff --git a/doc/fixes30.pl07 b/doc/fixes30.pl07 new file mode 100644 index 000000000..162bfa776 --- /dev/null +++ b/doc/fixes30.pl07 @@ -0,0 +1,35 @@ +Sorry this one took so long. We think just about every computer and network +we depend on has broken sometime in last few weeks. + +Work on the PC overlay mechanism continues, with Kevin Smolkowski joining +Pierre Martineau, Stephen Spackman, and Norm Meluch. Breaking each .c file +into separately-swapped pieces should help performance considerably. More +changes to the overlay manager are brewing, and will be distributed in the +unfortunately required Patch 8. + +The Amiga port was brought up to date and extended by Richard Addison, +Jochen Erwied, Mark Gooderum, Ken Lorber, Greg Olson, Mike Passaretti, and +Gregg Wonderly. + +The Macintosh port was futher extended by Kevin Sitze, Andy Swanson, Jon +Watte, and Tom West, working with Johnny Lee. + +Support for recent versions of HP-UX was added by Steve Creps. + +We believe all major various platforms and compilers are working properly now. + + +In other news, '/' now distinguishes among monsters of a given class, named +objects (including artifacts) are handled better, an extended version command +gives compilation options, monster colors should show up better, more +occupations are being stopped appropriately, unconscious and non-animal +monsters are handled better, and the eating behavior and ending messages have +been overhauled again. + +Various display nuisances have been fixed and the "worm segment", "nymph +freeinv", and combined nymph/succubus/polymorphing bugs are gone, along with +a large number of less notorious problems. A few more fun loopholes no longer +exist. + +In all, we think this is the stablest and most balanced version yet. + diff --git a/doc/fixes30.pl08 b/doc/fixes30.pl08 new file mode 100644 index 000000000..6791311aa --- /dev/null +++ b/doc/fixes30.pl08 @@ -0,0 +1,59 @@ +From @RELAY.CS.NET,@central.cis.upenn.edu:izchak@linc.cis.upenn.edu Sun Jun 3 19:07:16 1990 +Received: from tekred.CNA.TEK.COM by saab.CNA.TEK.COM (3.2/6.24) + id AA19831; Sun, 3 Jun 90 19:07:15 PDT +Received: by tekred.CNA.TEK.COM (5.51/6.24) + id AA07744; Sun, 3 Jun 90 19:04:46 PDT +Received: by tektronix.TEK.COM (5.51/7.1) + id AA19147; Sun, 3 Jun 90 19:09:13 PDT +Received: from by zephyr.ENS.TEK.COM (4.1/7.1) + id AB19260; Sun, 3 Jun 90 19:03:29 PDT +Received: from relay.cs.net by RELAY.CS.NET id aa02627; 3 Jun 90 21:57 EDT +Received: from central.cis.upenn.edu by RELAY.CS.NET id aa02050; + 3 Jun 90 21:58 EDT +Received: from LINC.CIS.UPENN.EDU by central.cis.upenn.edu + id AA24573; Sun, 3 Jun 90 21:58:54 -0400 +Return-Path: +Received: by linc.cis.upenn.edu + id AA04476; Sun, 3 Jun 90 21:58:14 EDT +Date: Sun, 3 Jun 90 21:58:14 EDT +From: Izchak Miller +Posted-Date: Sun, 3 Jun 90 21:58:14 EDT +Message-Id: <9006040158.AA04476@linc.cis.upenn.edu> +To: billr@saab.CNA.TEK.COM +Subject: UPDATE8 +Status: O + +This patch is devoted to bugfixes and accommodations for more versions of +the newer ports. + +The VMS port should now compile with both VAXC and GNUC and install more +easily under a variety of OS versions, thanks to Joshua Delahunty and Pat +Rankin. + +A number of strange interactions in the Macintosh-specific code have been +cleaned up. + +The MSDOS overlay manager was debugged, and the overlay assignments and macro +names straightened out, so the result should be both faster and more stable +than previous versions. See the new file Install.ovl and various files in +the others directory for more information. + +The Amiga port now specifies addressing modes for many external variables, +which should make its executable smaller and faster as well. + + +The biggest externally visible change separates DECgraphics and IBMgraphics +from the general graphics-setting code, and makes them selectable on the +command line. + +Once again, existing saved games and bones files should be discarded (or the +update postponed until they are gone). + +A number of reasonably simple bugs are no more, although some screen update +oddities are postponed to 3.1. Among the dead are problems with shops on +bones levels, renaming artifacts, kicking non-objects, winning gem treatment, +level bounds checking and monster filling, mimic appearances, taking items +out of containers, monster interiors and inventories, and guard behavior. +Various other things were changed to be consistent with similar situations. + + diff --git a/doc/fixes30.pl09 b/doc/fixes30.pl09 new file mode 100644 index 000000000..4efa3d5de --- /dev/null +++ b/doc/fixes30.pl09 @@ -0,0 +1,11 @@ +Patchlevel 9 is in fact an amendment patch to Patchlevel 8. It +contains fixes to some deadly bugs discovered thus far in the Pl8 +code. + +Among the bugs fixed are a 0 dereference bug in the Amiga code, a +bug in the tins code, a bug in the inventory weight code, a level +files bug in the Mac code, an ST display bug, a bug in the maze's +bones level, a bug with chest traps, a bug in the restoring code, a +vault guard bug, a PC collapsing dungeon bug, and other more minor +bugs. + diff --git a/doc/fixes30.pl10 b/doc/fixes30.pl10 new file mode 100644 index 000000000..9fea9b743 --- /dev/null +++ b/doc/fixes30.pl10 @@ -0,0 +1,23 @@ +UPDATE10 + +Patch 10 to NetHack 3.0 adds no new features, and few optimizations. +It fixes many mostly rare bugs and extends support to a couple more +system variants. + +The major change with this patch is that the MSDOS overlay manager is +now bright enough to split up one logical executable among several disk +files, thus simplifying distribution via floppies since each file can +be <360K. Entering debugging mode for the Macintosh is simplified. +There are provisions for later versions of several compilers, although +not yet Turbo C++, as we have not gotten an executable with adequate +performance (see Install.ovl for gory details). + +NetHack should now get along better with Irises, IBM RS/6000s, NeXTs, +and possibly even SCO UNIX. + +Among the dead bugs are those involving artifact damage, VMS file +manipulation, crushed iron balls, elven equipment, orcs with 2^32-1 +daggers, trolls with ridiculously high hitpoints, exploding bags of +holding on the ground, inappropriate messages, saved luck, unbounded +digging on special levels, and several distinct trap problems. + From 825a9498b4102d3f77f833daa7277027aa3e13da Mon Sep 17 00:00:00 2001 From: nhmall Date: Fri, 21 Sep 2018 16:33:48 -0400 Subject: [PATCH 6/7] more historical fixes info --- doc/fixes10.0 | 70 +++++++++++++++++++++++++++++++++++++++++++++++ doc/fixes14.f | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 146 insertions(+) create mode 100644 doc/fixes10.0 create mode 100644 doc/fixes14.f diff --git a/doc/fixes10.0 b/doc/fixes10.0 new file mode 100644 index 000000000..f9bbca0e9 --- /dev/null +++ b/doc/fixes10.0 @@ -0,0 +1,70 @@ +New Features: +==================== +New character classes (Ken Arromdee) +New weapons code (Ken Arromdee) +Armor weights implemented (Ken Arromdee) +New tools code (Ken Arromdee) +Polymorph self code (Ken Arromdee) +additional bug fixes (Ken Arromdee) +added new character classes and traps (M. Stephenson) +added the Throne Room (M. Stephenson) +Rockmole & Keystone Kops code (Scott R. Turner) +Squeeky Board & Magic traps (Scott R. Turner) +Fountain code (Scott R. Turner) +Magic Marker code (Gil Neiger) +Fountain code enhancements (Gil Neiger) +Enhancements to dozens of routines (Gil Neiger) +more bug fixes in hack.zap.c +#dip mods to fountain code (Eric Backus) +added spellbooks and spellcasting (M. Stephenson) +implemented code for praying (M. Stephenson) +made some enhancements to the endgame (M. Stephenson) +Some of the old code (eg. KOPS) has been enhanced to allow for more + functionality +Kops now throw cream pies (thank/blame KAA for the suggestion) +The wizard may not stay dead!!! +There are a couple of new types of demons. +Demons may not be aggressive. +There are lots more of these little gems, with sufficient hints in + various fortune cookies to give away enough clues. + + +Build from source changes +========================= +The program "makedefs" has been modified in order to allow limited use of + muse of "#ifdef/#else/#endif" sets in objects.h +Makedefs will only generate one #define for any number of ocurrences of + a given object name string. In addition, "makedefs" also generates + alternate defines for "DEAD_xxxxx" in those cases where a monster + has been given an alternate identity. +Makedefs has been modified in order that it may be used to + initialize the following variable def files: + objects.h -o option, see above. + trap.h -t option, trap type defines. + date.h -d option, date string. + data -D option, optional monster names. + rumors -r option, optional rumor addition. +The Unix "Makefile" has been enhanced to make installation cleaner + and also to allow "initialization" of the play directories (WARNING: + this will destroy old score files!!!). The PC Makefile hasn't been + upgraded in this respect. + + +Known Problems: +================= +The WALKIES code is really crude. Fido get's mnexto()'d you when + he gets out of the effective leash range. I haven't yet been able + to integrate leashed movement into dogmove(). You might just want + to comment out the #define in config.h +ROCKMOLES have some problems with screen updating. I didn't make + any changes to the code I received, and have noticed some distinct + problems with walls not being set to "door" until the rockmole + moves off the cell +There are some problems in the item selection code, the usual effect + of which is to leave the cursor sitting at some arbitrary point on + the screen instead of returning it to the upper left hand corner or + onto the "@". This doesn't affect the screen updating, so I have + ignored it up to now +REDO may not be completely implemented. I am still working on it + here but would appreciate any help anyone out there might want to give + diff --git a/doc/fixes14.f b/doc/fixes14.f new file mode 100644 index 000000000..bdc4fb10d --- /dev/null +++ b/doc/fixes14.f @@ -0,0 +1,76 @@ + NetHack Fixes List Revision 1.4 + +dogmove.c: Death code fixed so dog with <1 hp doesn't "die of hunger". + Slack leash message not invoked unless leash attached. + Added "DOGNAME" option (thanks to Roland McGrath). + +u_init.c: Priest(esse)s start off with their weapon blessed. + +spell.c: Allows high level characters to cast spells upon themselves +zap.c: (such as polymorph). + +pray.c: allows for de-cursing worn rings as well as weapons. + Knights, Priests and Priestesses can now "#turn" undead + (UNDEAD = "VWZ &"). + fixed bugs in blessings bestowed by gods. + +read.c: SPE_CAUSE_FEAR does not give a "You hear..." message unless no + monsters are nearby. + fix to bug in "do_genocide" which allowed player to wipe out + all '@'s and survive. + +polyself.c: fix to rehumanize to catch players who wipe out '@'s while + in polymorphed form as they de-polymorph. + +wield.c: bug causing segmentation fault on "w-" followed by "w[weapon]" + fixed by chuq@sun + +trap.c: similar null pointer problem corrected. + +make.exe.uu: correction of names at top of uuencoded files which caused the +nansi.sys.uu: original files to be overwritten by the decoded files when + uudecode was invoked. (found by len@elxsi). + +nethack.6: general beautification and appropriate acknowledgement of + trademarks to avoid getting sued. :-) (thanks chuq) + +help: addition of "V" and "#" commands to help text. + +invent.c: fix to REDO bug inhibiting the appearance of the item usage + prompt. + +makedefs.c: added "{", "\" and corrected Rockmole definition in "data". + fixed things for Dos users (file open modes, etc.) + +cmd.c: added #[command] auto-substitution. + +termcap.c: fixed termlib / curses dependencies. + fixed null padding bug on output of SO/SE/HI/HE. + +pcmain.c: many fixes by Ralf Brown (ralf@b.gp.cs.cmu.edu) to allow the +pcunix.c: program to be compiled using the Turbo C compiler in a Dos +Makefile.tcc: enviornment. + +engrave.c: engravings burned or engraved into the floor (as opposed to + those made with finger or marker) can be felt out when blind. + (inspired by Stefan Wrammerfors). + +mon.c: fixed "monster looked at a strange trap" bug for 16 bit + machines (long vs. int problem reported by mike@cimcor). + +fight.c: hitmm() fixed to return 0 (no hit) if either monster passed + in is non-existant. This fixes a number of null reference + problems (ex. monmove.c[~360]). + Misc zero reference errors fixed by Paul Eggert. eggert@grand + +Makefile.xenix: New version (that works) supplied by Greg Laskin greg@smash + +fountain.c: Misc zero reference errors fixed by Paul Eggert. eggert@grand +search.c: + +options.c: New options added for GRAPHICS, DOGNAME, and new routine + added to allow easier sorting of string parameters (":," + are considered to be string terminators for copying in + name, and dogname). + + From b5f9a8c722a3cd97aeb4423c0627adfebeb61959 Mon Sep 17 00:00:00 2001 From: nhmall Date: Fri, 21 Sep 2018 16:36:38 -0400 Subject: [PATCH 7/7] transcription bit --- doc/fixes10.0 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/fixes10.0 b/doc/fixes10.0 index f9bbca0e9..4f35c4231 100644 --- a/doc/fixes10.0 +++ b/doc/fixes10.0 @@ -32,7 +32,7 @@ There are lots more of these little gems, with sufficient hints in Build from source changes ========================= The program "makedefs" has been modified in order to allow limited use of - muse of "#ifdef/#else/#endif" sets in objects.h + "#ifdef/#else/#endif" sets in objects.h Makedefs will only generate one #define for any number of ocurrences of a given object name string. In addition, "makedefs" also generates alternate defines for "DEAD_xxxxx" in those cases where a monster @@ -47,7 +47,7 @@ Makedefs has been modified in order that it may be used to The Unix "Makefile" has been enhanced to make installation cleaner and also to allow "initialization" of the play directories (WARNING: this will destroy old score files!!!). The PC Makefile hasn't been - upgraded in this respect. + upgraded in this respect Known Problems: