Bugs Outstanding Compiling COMP01. [unknown - no date]: makefile.sgi for IRIX does not work -- no clue why COMP02. [unknown - no date]: DJGPP may puke up a lung on some of the very long functions if compiled using certain options -- sometimes simply running make again will work; sometimes changing the options will force compile Critical Errors CRIT01. [BCR - 10 Jan 2000]: weird crash bug: trying ctrl-numbers (for control movement under Linux) from the top of the keyboard and ctrl-4 apparently kills the program -- ran it in the debugger and it said it got a SIGQUIT signal in libc_read CRIT02. [unknown - no date]: skeletal warrior cast a spell and seg-faulted the game in the Abyss CRIT03. [unknown - no date]: sometimes leaving the Abyss through an exit sends game into an infinite loop -- hard to replicate, though CRIT04. [unknown - no date]: using stairs/portals sometimes misplaces the player, either into solid rock or onto bogus levels -- e.g., level 28 of the dungeon, level -1 of a sub-dungeon CRIT06. [jmf - 31 mar 2000]: Taking down stairs onto new level sometimes hangs the game. Hard to replicate. CRIT07. [jmf - 31 mar 2000]: Dungeons sometimes generated that feature off-the-edge corrodors. Monsters or player moving too close causes segfault. Platform Specific PLAT01. [unknown - no date]: Linux: various odd effects when playing in term -- may be terminfo's fault PLAT02. [DLB - 12 Jan 2000]: Playing under Linux, I am encountering an atrocious "garbaging" of the screen in Wizmode -- the screen fails to update properly after using the wizmode help function (&-?) ... has anyone else encountered this. Also, keypad support is very spotty under Linux, or at least mine ... [BCR - 12 Jan 2000]: Yeah, Linux support is still far from perfect. I've never been able to get shift or ctrl numpad keys to work in Linux, and have had various display problems. The wizmode help actually uses the same function as the regular help, so it should behave the same. [DLB - 20 Mar 2000]: Still no support under Linux console for keypad when in 'X'-map mode PLAT03. [BWR - 13 Jan 2000]: The escape key no longer seems to be cancelling my actions (ie. looking at spell lists, maps, etc.). This is a desired feature because I typically don't trust space in roguelike games. (This is under Solaris.) [DLB - 13 Jan 2000]: I noticed this "feature" under Linux, as well ... guess I am not the only one. [BWR - 18 Jan 2000]: I've looked at the escape problem and the problem is that at some point the keypad( stdscr, FALSE ) line turns into a TRUE. This ends up cooking escapes (it has to pause for a bit to wait to see if its an escape sequence and this screws up all the checks for escape). I've moved this into the #ifndef SOLARIS block with the scrollok. Everybody here uses roguelike keys except for those people who are luck to get terminals that will output the actual numbers in one of their modes, or have hacked their xmodmap to handle the keypad (to do pretty much the same). PLAT04. [BWR - 20 Mar 2000]: There's one other bug that we seem to have here (under Solaris). Occasionally the game hangs when changing levels. At first it was only happening to one person, so I thought it had something to do with his environment (I know he's giving incorrect term types to get colour, as well as doing some magic with xmodmap to get the keypad to work on some terminals), but it did happen to me once so I know its real. Nothing really special about the stairs I used, they were regular dungeon (I've noticed his games have hanged in sub-branches) and I had no monsters around me. This could be a problem with either level generation (I was going to a new level) or with the save level function. Don't have much time to look at either... keep your eyes open for it, if it doesn't happen anywhere else, its probably with the SOLARIS or SAVE_GAME_DIR code. PLAT05. [BCR - 9 Mar 2000]: Its not a big deal, but 2 and 8 on the numpad still don't work with ctrl for disarming traps. We should at least stick it in the buglist. (This is under Windows NT.) [LRH - 13 Mar 2000]: Re: the bug with ctrl-2 and -8 not working: IIRC The last time this happened it was as a result of the keyin variable in which keypresses entered in the main input loop are stored having been set either signed or unsigned, I don't remember which (just that it was the wrong one). The problem is that the values for ctrl-2/ 8 are above 127, so when the variable declaration was changed they either started or stopped wrapping. Of course, it's a while since I've done any coding, so don't believe everything I say. [BCR - 13 Mar 2000]: I spent some time debugging today and it seems that the ctrl-8/2 problem under NT is a library bug. The external getch() function doesn't return when you hit those keys. This maybe be a DJGPP thing. I have the borland compiler on this comp too, so if I get some time I will try setting it up and seeing if the problem is the same there as well... Display DISP01. [Graeme Dice - 10 Jan 2000]: (small, cosmetic) bug with the new, cool XP-left-for-skills display: when one gains skills such that 3-4 digits of XP are removed, the right parenthesis is not removed (^R fixes) DISP02. [unknown - no date]: missing space when printing gold amounts? DISP03. [unknown - no date]: hunger status not redrawn with level change -- happens when engorged and I think also when full [BWR - no date] should be fixed now [JDJ - no date] still not fixed DISP04. [unknown - no date]: check for screen length problems and fix them -- e.g., map centering is still off base, line 12 (should this be shifted for longer windows?) DISP05. [BWR - 18 Jan 2000]: Speaking of the help screen, the help for the fast scroll on the map screen is still wrong: the commands are +/- not +/& like it implies. DISP06. [Tloma Desk - 7 Feb 2000]: When gaining level during zapping some bolt towards the top of the screen, part of bolt is drawn at the bottom of the screen. DISP07. [DLB - 17 Mar 2000]: the key for list weapons is not displayed after issuing a '?' command DISP08. [DLB - 18 Mar 2000]: The spell "Detect creatures" should be "Detect Creatures" (both words capitalized) when viewing list of spells known. Items ITEM01. [LRH - 12 Jan 2000]: When you eat a poisonous corpse while poison resistant, it always makes you ill (ie diseased) -- Should this be fixed? [BWR - 12 Jan 2000]: Almost certainly. Doesn't make sense to punish players like this. ITEM02. [unknown - no date]: "-5 stone" heavily enchanted to do *more* damage and costs 100 ITEM03. [unknown - no date]: jewelry shop generated "+6", a missile weapon ITEM04. [unknown - no date]: found "an amulet of Cekugob" (an unrandart) that should identify as "the amulet of Cekugob" -- a 'V' check indicated none of its powers, but at least some of them were being applied to my character ITEM05. [unknown - no date]: an item is cursed if its "iplus" value is "big enough" -- however, "big enough" is >80 in some places, >130 in others, and perhaps >120 in others (I'm not sure about the >120; I recall seeing it but can't find it now). Right now I have an artifact ring that I can't uncurse since the value used when uncursing is 130 and the value used when sticking is 80 -- the uncursing code checks against 80 on one hand and against 130 on the other ITEM06. [CDL - 18 Mar 2000]: I had just had a level 7 Spriggan Venom Mage, with all of his 24 HP, die from reading a scroll of immolation. The official cause of death was listed as "killed by bad targetting". [DLB - 18 Mar 2000]: Appears that item_use::read_scroll() for SCR_IMMOLATION hands off a value of beam.thing_thrown as KILL_YOU to bang::explosion() and is eventually handled by these lines: if ( beam[0].thing_thrown == KILL_YOU || beam[0].thing_thrown == KILL_YOU_MISSILE ) ouch(hurted, 0, KILLED_BY_TARGETTING); else if (beam[0].flavour == BEAM_SPORE) // cdl ouch(hurted, 0, KILLED_BY_SPORE); else ouch(hurted, beam[0].beam_source, KILLED_BY_BEAM); Problem is, there is no KILLED_BY_EXPLOSION, so unless someone wants to add that case, KILLED_BY_BURNING (now used by "liquid flames" in acr.cc only) would be the closest fit ... Maybe a better long-term solution would be to add to the KILLER enum cases for KILL_YOU_EXPLOSION and KILL_MON_EXPLOSION and work from there ??? Right now KILL_YOU and KILL_MON serve double duty for both direct (non-missile) and explosion kills -- separate them out??? ITEM07. [Tloma Desk - 7 Feb 2000]: Magical staves are identified by fighting with them. ITEM08. [Tloma Desk - 7 Feb 2000]: Weapon descriptions are not complete - "It's ... enchanted to do more damage." part is missing ITEM09. [ - 17 Mar 2000]: Reading scroll of detect curse discovers artifact names. ITEM10. [CDL - 19 Mar 2000]: My current character has a spell staff of destruction with these spells: Spells Type Level a - Throw Frost Ice/Conjuration 2 b - Bolt of Cold Ice/Conjuration 5 c - Lightning Bolt Air/Conjuration 6 I am unable to cast Throw Frost with it, but can cast the other two spells. I can't figure out the problem, but when I added enough print statements, the problem went away. :( There's something odd going on here, as dungeon::spellbook_template() gets called once with "spellbook" 13, rather than with 53 (the above staff). Monsters MONS01. [unknown - no date]: artefact weapons of Holy Wrath wielded by undead MONS02. [unknown - no date]: monsters shout upon seeing a player who cannot see them MONS03. [BWR - 13 Jan 2000]: Another thing that was noticed in this version. Polymorphing Sigmund (or any other named monster) resulted in "a giant beetle" changing its form. My guess is some confusion on which table is being indexed. MONS04. [BWR - 27 Jan 2000]: On the subject of summoning, a little thing (bug) that has been noticed around here... summoned monsters that die overtop of corpses, take the corpse with them. MONS05. [ - 17 Mar 2000]: You can use Yedremewhatewer "enslave undead" invocation to enslave shapeshifter acting as an undead. When it changes, the enslavement stays. I am not certain if this is a bug or a feature. Characters PLYR01. [unknown - no date]: currently possible to gain zero hp when gaining a level -- safeguards should exist to prevent negative values, if not guaranteeing at least 1 hp per level PLYR02. [BWR - 12 Feb 2000]: calc_hp() and calc_ep() need to be called before you.hp is set so that race-classes that start with 5 Fighting don't start with 18/19 hps (see Ogre Fighters). Inventory INVN01. [unknown - no date]: full inventory doesn't account for possible item stacking or for picking up gold [DLB - 19 Mar 2000]: When a player's pack is full, he/she is unable to pick up gold from the ground. This, at least should be allowable, if not also item stacking (see parent comment). INVN02. [unknown - no date]: inventory count bug: inventory counter occasionally gets out of sync (should either be moved or fixed) Combat Related COMB01. [unknown - no date]: EV seems to get screwed up after transforms -- it seems to get at the transform value when the player has no armour (calculated correctly once armour is on) Magic MAGI01. [LRH - 12 Jan 2000]: The burn_freeze function (which covers the spells burn, freeze, crush and arc) doesn't set a friendly creature targetted by it to hostile. It should. And I really should have gotten around to implementing these spells for monsters, so that ghosts can use them. MAGI02. [LRH - 13 Jan 2000]: Summon Shadow Creatures is now Ice/Summoning -- this seems very odd. [BWR - 13 Jan 2000]: Same here. MAGI03. [CDL - 18 Mar 2000]: This is in player.cc: if (you.sure_blade) { if (you.confusing_touch > 15) mpr( "You have a strong bond with your blade." ); else if (you.confusing_touch > 5) mpr( "You have a bond with your blade." ); else mpr( "Your bond with your blade is waning." ); } The "confusing_touch"es in the body should probably be "sure_blade"s. Teleportation TELE01. [unknown - no date]: if you have teleport control you'll see a prompt that says: "You may choose your destination (press '.' or delete to select)." I somehow got into the habit of immediately blowing by this prompt without ever reading it so I was always flailing around whenever I tried to teleport. I've changed show_map() so that it accepts '\r' as well as '.' (which should be much more intuitive) but I don't see a check for the delete key in show_map() so I think the prompt is wrong TELE02. [unknown - no date]: teleport control is really wacky -- I'd expect to be able to use the return key to select the square but it seems to key off one of the keypad keys Targeting TARG01. [unknown - no date]: targeting is off at times (possible rounding errors) TARG02. [unknown - no date]: fired beams sometimes take the wrong route and can't hit targets in LOS Codebase CODE01. [unknown - no date]: in monsters enum, values 250 to 310 should be reserved for Uniques, but 260 to 280 are occupied by other monsters -- should move them if it won't mess anything else up (if moved, remember to alter ouch.cc check for placing 'a' is put in front of the unique's name in the scores) -- not really a bug. CODE02. [unknown - no date]: from the code, it appears that dropping items takes zero time