Bugs in r1683 - debate wanted

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Magnate
    Angband Devteam member
    • May 2007
    • 5110

    Bugs in r1683 - debate wanted

    Hi all,

    I came across a number of bugs of varying degrees while playing my HE rogue recently. I've fixed some of the trivial ones (r1684-1686) but would like some views or comments on the rest:

    1. I get garbage messages in the message recall window when I drop items in my home - as if the name of the item I dropped is made up of unprintable characters: like "You drop @$^{Y@#%^P". Doesn't seem to happen in any other store. Does anyone else get this?

    2. If I am carrying a dagger(+0,+0) and I pick up an unIDd identical dagger, it is auto-IDd and stacks with the existing one. IMO this is a bug, and the stacking shouldn't happen until the new dagger pseudos as average. Anyone care?

    3. The object knowledge menus give the squelch status of unknown flavours, thereby giving away that those particular flavours are not worth investigating. IMO this is a bug, and no squelch information should be given for unknown flavours. Anyone agree?

    4. Related to this, the object knowledge menus do not include the special artifact flavours under rings and amulets, thereby immediately giving away when a new flavour is an artifact. IMO this is a bug, and the artifact flavours should be included on the knowledge menus. Actually no, I think it would be better not to have any unknown flavours shown at all. Views?

    5. My squelch settings are no longer being saved in my savefile. Every game starts up with exactly the same squelch settings, regardless of any changes I made during the previous session. I have tried saving options and dumping pref files, and I cannot preserve my changes to squelch settings. Does anyone else have this problem?

    6. The "recall" function in the artifact knowledge menu is borked. It should give you your current knowledge of the artifact, but at the moment it gives you very little (because it uses the make_fake_artifact function and it's not picking up the flags). I intend to correct this to use known_flags, as it should be uncontroversial.

    7. The recall of ego items is broken too, because the tval is not set for the dummy item. (It says "it causes your melee attacks to slay undead" for weapons, when it should just say "slays undead".) I intend to correct this too.

    8. Cancelling use of ?ID takes turn. Also "you have nothing to identify" takes a turn. IMO neither of these should take a turn - like trying to melee while afraid. Anyone agree? (ISTR this was changed recently for the spell, so that mana is not wasted if you have nothing to ID.)

    9. Inscriptions are parsed wrongly in stores (@b5!d!k!v results in "really try...?" when browsing in home, and is totally ignored in others)

    10. The faster you are, the longer things take to recharge ... a rod of tOther takes 25 turns to recharge at +0 speed, and 87 turns to recharge at +25 speed. I know this is logical, as it takes the same amount of "dungeon time" to recharge in each case, but IMO this is one of those situations where gameplay should triumph over realism. IMO the recharge times of things should be constant, rather than slow down as you acquire more speed. Anyone else?
    "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles
  • fizzix
    Prophet
    • Aug 2009
    • 3025

    #2
    Originally posted by Magnate
    Hi all,

    I came across a number of bugs of varying degrees while playing my HE rogue recently. I've fixed some of the trivial ones (r1684-1686) but would like some views or comments on the rest:

    1. I get garbage messages in the message recall window when I drop items in my home - as if the name of the item I dropped is made up of unprintable characters: like "You drop @$^{Y@#%^P". Doesn't seem to happen in any other store. Does anyone else get this?
    This is in r1626 also.

    Originally posted by Magnate
    2. If I am carrying a dagger(+0,+0) and I pick up an unIDd identical dagger, it is auto-IDd and stacks with the existing one. IMO this is a bug, and the stacking shouldn't happen until the new dagger pseudos as average. Anyone care?
    I think the motivation for this was that you can tell one item is average by comparing it to another average item that you have. This is really only important in the early game, and I don't think it matters all that much.

    Originally posted by Magnate
    3. The object knowledge menus give the squelch status of unknown flavours, thereby giving away that those particular flavours are not worth investigating. IMO this is a bug, and no squelch information should be given for unknown flavours. Anyone agree?

    4. Related to this, the object knowledge menus do not include the special artifact flavours under rings and amulets, thereby immediately giving away when a new flavour is an artifact. IMO this is a bug, and the artifact flavours should be included on the knowledge menus. Actually no, I think it would be better not to have any unknown flavours shown at all. Views?
    These are both bugs, eliminate unknown flavors from the menu *except* for ones with the {tried} pseudo. Or better yet add any flavors to the menu that you've become aware of in the dungeon, even if you haven't picked it up yet.

    Originally posted by Magnate
    8. Cancelling use of ?ID takes turn. Also "you have nothing to identify" takes a turn. IMO neither of these should take a turn - like trying to melee while afraid. Anyone agree? (ISTR this was changed recently for the spell, so that mana is not wasted if you have nothing to ID.)
    I agree, however not for the case in which you are using an unknown staff or scroll of ID. Then, I think it should take a turn.

    Originally posted by Magnate
    10. The faster you are, the longer things take to recharge ... a rod of tOther takes 25 turns to recharge at +0 speed, and 87 turns to recharge at +25 speed. I know this is logical, as it takes the same amount of "dungeon time" to recharge in each case, but IMO this is one of those situations where gameplay should triumph over realism. IMO the recharge times of things should be constant, rather than slow down as you acquire more speed. Anyone else?
    I prefer the current system. Speed is already enough of a huge benefit.

    Comment

    • konijn_
      Hellband maintainer
      • Jul 2007
      • 367

      #3
      Originally posted by Magnate
      Hi all,

      I came across a number of bugs of varying degrees while playing my HE rogue recently. I've fixed some of the trivial ones (r1684-1686) but would like some views or comments on the rest:

      1. I get garbage messages in the message recall window when I drop items in my home - as if the name of the item I dropped is made up of unprintable characters: like "You drop @$^{Y@#%^P". Doesn't seem to happen in any other store. Does anyone else get this?
      Never Noticed

      Originally posted by Magnate
      2. If I am carrying a dagger(+0,+0) and I pick up an unIDd identical dagger, it is auto-IDd and stacks with the existing one. IMO this is a bug, and the stacking shouldn't happen until the new dagger pseudos as average. Anyone care?
      I dont care too much about a bug, I wouldnt be against a fix of course.

      Originally posted by Magnate
      3. The object knowledge menus give the squelch status of unknown flavours, thereby giving away that those particular flavours are not worth investigating. IMO this is a bug, and no squelch information should be given for unknown flavours. Anyone agree?
      Yes! Even worse it will autosquelch unknown flavours!

      Originally posted by Magnate
      4. Related to this, the object knowledge menus do not include the special artifact flavours under rings and amulets, thereby immediately giving away when a new flavour is an artifact. IMO this is a bug, and the artifact flavours should be included on the knowledge menus. Actually no, I think it would be better not to have any unknown flavours shown at all. Views?
      Do not show unknown flavours, is flavour knowledge passed along between savefiles ?

      Originally posted by Magnate
      5. My squelch settings are no longer being saved in my savefile. Every game starts up with exactly the same squelch settings, regardless of any changes I made during the previous session. I have tried saving options and dumping pref files, and I cannot preserve my changes to squelch settings. Does anyone else have this problem?
      Did not encounter this problem on Windows.

      Originally posted by Magnate
      6. The "recall" function in the artifact knowledge menu is borked. It should give you your current knowledge of the artifact, but at the moment it gives you very little (because it uses the make_fake_artifact function and it's not picking up the flags). I intend to correct this to use known_flags, as it should be uncontroversial.
      Yes please.

      Originally posted by Magnate
      7. The recall of ego items is broken too, because the tval is not set for the dummy item. (It says "it causes your melee attacks to slay undead" for weapons, when it should just say "slays undead".) I intend to correct this too.
      Hmmm. Yummy opportunity for copy pasted brittle stuff. Please make sure you dont copy paste and change the strings, or just ignore me

      Originally posted by Magnate
      8. Cancelling use of ?ID takes turn. Also "you have nothing to identify" takes a turn. IMO neither of these should take a turn - like trying to melee while afraid. Anyone agree? (ISTR this was changed recently for the spell, so that mana is not wasted if you have nothing to ID.)
      As the mana is not wasted, so should the turn not be wasted.

      Originally posted by Magnate
      9. Inscriptions are parsed wrongly in stores (@b5!d!k!v results in "really try...?" when browsing in home, and is totally ignored in others)
      Its odd, I used to swear by not drop inscriptions, but I am guessing the improved macro stuff makes me no longer drop items, so I am fine. So yeah, should be fixed whenever you find time

      Originally posted by Magnate
      10. The faster you are, the longer things take to recharge ... a rod of tOther takes 25 turns to recharge at +0 speed, and 87 turns to recharge at +25 speed. I know this is logical, as it takes the same amount of "dungeon time" to recharge in each case, but IMO this is one of those situations where gameplay should triumph over realism. IMO the recharge times of things should be constant, rather than slow down as you acquire more speed. Anyone else?
      I see you kept the best for last, totally dont agree. I would agree on having ego rods that cannot be destroyed by lightning so that I can carry enough rods so that I dont have to care about recharge times
      * Are you ready for something else ? Hellband 0.8.8 is out! *

      Comment

      • PowerDiver
        Prophet
        • Mar 2008
        • 2820

        #4
        Originally posted by Magnate
        2. If I am carrying a dagger(+0,+0) and I pick up an unIDd identical dagger, it is auto-IDd and stacks with the existing one. IMO this is a bug, and the stacking shouldn't happen until the new dagger pseudos as average. Anyone care?

        5. My squelch settings are no longer being saved in my savefile. Every game starts up with exactly the same squelch settings, regardless of any changes I made during the previous session. I have tried saving options and dumping pref files, and I cannot preserve my changes to squelch settings. Does anyone else have this problem?

        10. The faster you are, the longer things take to recharge ... a rod of tOther takes 25 turns to recharge at +0 speed, and 87 turns to recharge at +25 speed. I know this is logical, as it takes the same amount of "dungeon time" to recharge in each case, but IMO this is one of those situations where gameplay should triumph over realism. IMO the recharge times of things should be constant, rather than slow down as you acquire more speed. Anyone else?
        (2) is about items acting independent of id. Either they stack, or they don't.

        (5) That used to be commonly a problem of an existing prf file being read that overwrites the internal structures previously read in from the savefile, and is the reason squelch was removed from prf files. I don't know how it could get you now. Change a squelch setting, save, remove all prf files, restart and check.

        (10) The recharge is constant, if you consider 12-24 constant. It takes the same time to recharge in your pack as it would on the ground. It is the idiotic description that makes it appear non-constant. Perhaps a convention of 1 game turn = 1 second could be assumed, and recharge times given in seconds rather than turns, with the understanding that a normal player turn is 10 seconds.

        Comment

        • PowerDiver
          Prophet
          • Mar 2008
          • 2820

          #5
          Originally posted by konijn_
          Yes! Even worse it will autosquelch unknown flavours!
          It is vital to me to be able to squelch unaware flavors. The list of flavors is fixed. So long as unaware artifact flavors are treated the same as other unaware flavors, what is the problem?

          Comment

          • Magnate
            Angband Devteam member
            • May 2007
            • 5110

            #6
            Originally posted by PowerDiver
            (5) That used to be commonly a problem of an existing prf file being read that overwrites the internal structures previously read in from the savefile, and is the reason squelch was removed from prf files. I don't know how it could get you now. Change a squelch setting, save, remove all prf files, restart and check.
            Thank you - will do.
            (10) The recharge is constant, if you consider 12-24 constant. It takes the same time to recharge in your pack as it would on the ground. It is the idiotic description that makes it appear non-constant. Perhaps a convention of 1 game turn = 1 second could be assumed, and recharge times given in seconds rather than turns, with the understanding that a normal player turn is 10 seconds.
            I don't have any lack of understanding, I just would prefer recharge times to be a constant number of player turns, not game turns. Looks like I'm outvoted though - I guess I have spent so little time with lots of permanent speed that I haven't got used to taking more turns between recharge times. I daresay it'll cease to bother me eventually.
            "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

            Comment

            • Magnate
              Angband Devteam member
              • May 2007
              • 5110

              #7
              Originally posted by PowerDiver
              It is vital to me to be able to squelch unaware flavors. The list of flavors is fixed. So long as unaware artifact flavors are treated the same as other unaware flavors, what is the problem?
              I think we need to be clear about exactly what we mean by "squelch unaware flavours". I'm talking about flavours that you don't know anything about - e.g. a purple potion. Is it really vital to you to be able to squelch purple potions, before you know what they are??
              "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

              Comment

              • Magnate
                Angband Devteam member
                • May 2007
                • 5110

                #8
                Originally posted by konijn_
                Yes! Even worse it will autosquelch unknown flavours!


                Do not show unknown flavours, is flavour knowledge passed along between savefiles ?
                If I understand your question correctly, the answer is that flavours are re-randomised at birth, so knowledge of flavours is relevant only to the current character - but yes, that knowledge is in the save file.

                I don't think it will squelch unknown flavours - in my experience the unknown items still appear, and then get instantly-squelched when IDd. I don't mind this behaviour at all, it's just having them on the knowledge menu while still unknown that I don't like.

                Perhaps this is closer to Eddie's position. I want to have potions of sleep auto squelched, every game. But I don't want to see the flavour of sleep potions shown on the object knowledge menu before I have found and IDd one. I especially do not want to see that flavour on the knowledge menu listed as squelched!

                I think I agree with you, that unknown flavours should not appear on the knowledge menus at all, until they are seen in the dungeon. It's going to take a bit of getting to know the knowledge menu code, but that's no bad thing.
                "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                Comment

                • PowerDiver
                  Prophet
                  • Mar 2008
                  • 2820

                  #9
                  Originally posted by Magnate
                  I think we need to be clear about exactly what we mean by "squelch unaware flavours". I'm talking about flavours that you don't know anything about - e.g. a purple potion. Is it really vital to you to be able to squelch purple potions, before you know what they are??
                  I don't think you are being clear. Is "you don't know anything" (1) never seen purple in any game, (2) never seen purple this game, (3) seen purple but haven't picked it up, (4) seen purple and tried it with no effect?

                  I often squelch in (4). I can imagine squelching in case (3) some potion I saw but couldn't reach say on DL 1, and I have squelched enough times I don't know how many in case (2).

                  If you know the object lists, there comes a time when you know that you are aware of all of the flavors of a particular type you will want for the rest of the game, so you can squelch every unaware flavor of that type. Outlawing that would be a little sad but not tragic.

                  I'd guess the reason for the knowledge bugs is the old-fashioned mistake of saying artifacts cannot be squelched. You don't want the player to test whether a far away ring is an artifact by going into the menu and squelching the flavor, checking, and unsquelching it. The better fix is to allow artifacts to be squelched.

                  Comment

                  • PowerDiver
                    Prophet
                    • Mar 2008
                    • 2820

                    #10
                    Originally posted by Magnate
                    Is it really vital to you to be able to squelch purple potions, before you know what they are??
                    I guess I didn't answer this. This is about avoiding note taking. If I aim a wand at a monster, and get "the foo is unaffected", I absolutely need to be able to squelch that flavor at that time. If I quaff a potion when suffering sufficient maladies and get no effect, I may want to squelch that flavor. Simply seeing a potion on the floor at DL 1 is reason to be squelching it at DL 99 assuming you have learned !speed.

                    Really, why shouldn't I be allowed to ignore whatever I want to ignore for whatever reason I have?

                    Comment

                    • Magnate
                      Angband Devteam member
                      • May 2007
                      • 5110

                      #11
                      Originally posted by PowerDiver
                      Really, why shouldn't I be allowed to ignore whatever I want to ignore for whatever reason I have?
                      You are right - I wasn't being clear. I have no problem with you choosing to ignore anything you want to ignore. I'm quite happy for people to squelch by flavour, if that's what they want to do. What I'm not happy with is the game giving away information I shouldn't have, because I have squelched potions of sleep before I ever find one. That's what's happening at the moment - but I think it's a bug with the whole save/load/pref file issue rather than the squelch interface itself. If I've never found a potion of sleep then I shouldn't have the option to squelch one. Yet somehow I am loading up a previous load of squelch settings, which means that the unknown sleep flavour is set to squelch. More on this when I've done the whole deleting pref files thing.
                      "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                      Comment

                      • konijn_
                        Hellband maintainer
                        • Jul 2007
                        • 367

                        #12
                        Originally posted by Magnate
                        You are right - I wasn't being clear. I have no problem with you choosing to ignore anything you want to ignore. I'm quite happy for people to squelch by flavour, if that's what they want to do. What I'm not happy with is the game giving away information I shouldn't have, because I have squelched potions of sleep before I ever find one. That's what's happening at the moment - but I think it's a bug with the whole save/load/pref file issue rather than the squelch interface itself. If I've never found a potion of sleep then I shouldn't have the option to squelch one. Yet somehow I am loading up a previous load of squelch settings, which means that the unknown sleep flavour is set to squelch. More on this when I've done the whole deleting pref files thing.
                        I have a suspicion that is the quality based squelching that is out of whack and squelches things before even looking at them, not a pref file issue.
                        * Are you ready for something else ? Hellband 0.8.8 is out! *

                        Comment

                        • Magnate
                          Angband Devteam member
                          • May 2007
                          • 5110

                          #13
                          Originally posted by konijn_
                          I have a suspicion that is the quality based squelching that is out of whack and squelches things before even looking at them, not a pref file issue.
                          Correct. Steps to confirm this bug:

                          1. Start a new game - check that all squelch options are zeroed. Specifically, check that the object knowledge menus show no flavours as squelched.

                          2. Walk into store #5 to see a load of scrolls. You don't know the flavours of these scrolls, but you now know they exist.

                          3. Go to the squelch menu, via options, and choose to squelch any or all of the scrolls you now know about.

                          4. Go to the object knowledge menu, and see the unknown flavours now marked as squelched.

                          Opened as ticket #978.
                          "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                          Comment

                          • PowerDiver
                            Prophet
                            • Mar 2008
                            • 2820

                            #14
                            Are the unaware flavors in fact squelched? You can check the flavor in the squelch menu through options. They might not be squelched unaware, but the object knowledge display is mistaken.

                            It might seems that I am being overly pedantic, but those would be two rather different bugs.

                            [edit] I just found a ref in cmd-know.c to k_ptr->squelch. No code outside squelch.c should access that directly, and presumably that is the bug. The unaware flavors should be checking kind_is_squelched_unaware(k_ptr).
                            Last edited by PowerDiver; November 5, 2009, 22:06.

                            Comment

                            • Magnate
                              Angband Devteam member
                              • May 2007
                              • 5110

                              #15
                              Originally posted by PowerDiver
                              Are the unaware flavors in fact squelched? You can check the flavor in the squelch menu through options. They might not be squelched unaware, but the object knowledge display is mistaken.

                              It might seems that I am being overly pedantic, but those would be two rather different bugs.

                              [edit] I just found a ref in cmd-know.c to k_ptr->squelch. No code outside squelch.c should access that directly, and presumably that is the bug. The unaware flavors should be checking kind_is_squelched_unaware(k_ptr).
                              Thank you. I'm sure you're right - I was only concerned about the knowledge menu, not about the actual squelching. I'll see if I can fix cmd-know.c following your find.

                              EDIT: ok, it wasn't as simple as that. I replaced the "if (k_ptr->squelch)" line with "if ((kind_is_squelched_aware(k_ptr)) || (kind_is_squelched_unaware(k_ptr)))" and the bug is still extant: I can squelch an unknown scroll type in options and the flavour shows up squelched in the object knowledge menu, even though that same flavour is not squelched in options. Ho hum.

                              EDIT2: Ok, it was pretty simple after all. The correct formulation was "if ((aware && kind_is_squelched_aware(k_ptr)) || (!aware && kind_is_squelched_unaware(k_ptr)))" ... fixed now - thanks Eddie.
                              Last edited by Magnate; November 5, 2009, 23:37.
                              "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                              Comment

                              Working...
                              😀
                              😂
                              🥰
                              😘
                              🤢
                              😎
                              😞
                              😡
                              👍
                              👎