Curses feature branch

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • AnonymousHero
    Veteran
    • Jun 2007
    • 1393

    #61
    Originally posted by Pete Mack
    Nick--
    I looked at this a little more. As far as I can tell, this says almost nothing about what is happening. By the time this fires, the memory has been freed, and initialized by the debug malloc package so that everything is the value 0xfeeefeee repeated. (Other allocators may use 0x0badbeef instead.)
    When I get a chance I'll use fsanitize.
    Sanitize is really the only option here. Usually it'll tell you the exact line in the source that did "the bad thing".

    Last time I tried, the Angband makefiles required quite a bit of hackery to get -fsanitize=XXX working... because, well, they're a little bit broken by modern standards. (FWIW, my offer to convert Vanilla Angband to use CMake still stands... ultimately it *is* really just easier than the hell of autoconf/automake.)

    Comment

    • Nick
      Vanilla maintainer
      • Apr 2007
      • 9634

      #62
      Originally posted by Pete Mack
      Nick--
      I looked at this a little more. As far as I can tell, this says almost nothing about what is happening.
      Not without context, but both those stack traces look familiar

      The new regime - objects as linked lists on each grid and a whole player known copy of the current level - is nice as a model of what's going on, but it is taking time to distinguish all the cases of what memory should be freed when.
      One for the Dark Lord on his dark throne
      In the Land of Mordor where the Shadows lie.

      Comment

      • Pete Mack
        Prophet
        • Apr 2007
        • 6883

        #63
        fsanitize is very cool. But purify was even cooler: you didn't need a compiler, just a debug build. It instrumented object code directly, so there was no need for messing with makefiles, or picking a new compiler, etc.

        Comment

        • AnonymousHero
          Veteran
          • Jun 2007
          • 1393

          #64
          Originally posted by Pete Mack
          fsanitize is very cool. But purify was even cooler: you didn't need a compiler, just a debug build. It instrumented object code directly, so there was no need for messing with makefiles, or picking a new compiler, etc.
          I can't claim to have had any experience with purify(TM, I'm assuming), but I take it from your use of the past tense that it's not some magic(?!?) you still have access to? Sanitize is ridiculously good, btw, and any lesser superlative is insufficient .

          Comment

          • Pete Mack
            Prophet
            • Apr 2007
            • 6883

            #65
            Purify licenses are ridiculously expensive since IBM bought Rational, so no: don't have access. But yes, Sanitize is just as good--just slightly harder to use, since you may need a new build process, rather than just executing it as part of the command line.

            Comment

            • Nick
              Vanilla maintainer
              • Apr 2007
              • 9634

              #66
              Speak now

              My current plan is to pull this branch into the master branch soonish. If you have an objection to the way curses are done here, please voice it.
              One for the Dark Lord on his dark throne
              In the Land of Mordor where the Shadows lie.

              Comment

              • Ingwe Ingweron
                Veteran
                • Jan 2009
                • 2129

                #67
                Originally posted by Nick
                My current plan is to pull this branch into the master branch soonish. If you have an objection to the way curses are done here, please voice it.
                Several bugs still not addressed, including an occasional crash bug, and others I've reported above. Have provided savefiles above for some, but still need to get save files for others.

                1. Sometimes pass-through walls monsters are dropping their treasures inside walls. Savefile was provided. Don't remember it being addressed, but I haven't been focusing on whether it's still an issue.

                2. Object indicator ("*") of previously found and ignored items reappearing when within a new detection radius. Savefile was provided. This is definitely still happening.

                3. Still an intermittent crash bug that I haven't been able to run down, though the Plain Gold Ring one (and Morgoth's crown) is fixed.

                4. Still have the bugs I reported but haven't gotten a savefile for yet. Haven't had as much time to play, but I know the gobbly-gook message on remove curse one still occurs intermittently. Not sure about the others.
                Last edited by Ingwe Ingweron; July 20, 2016, 10:23.
                “We're more of the love, blood, and rhetoric school. Well, we can do you blood and love without the rhetoric, and we can do you blood and rhetoric without the love, and we can do you all three concurrent or consecutive. But we can't give you love and rhetoric without the blood. Blood is compulsory. They're all blood, you see.”
                ― Tom Stoppard, Rosencrantz and Guildenstern are Dead

                Comment

                • Nick
                  Vanilla maintainer
                  • Apr 2007
                  • 9634

                  #68
                  Originally posted by Ingwe Ingweron
                  Several bugs still not addressed, including an occasional crash bug, and others I've reported above.
                  Yes, I haven't got to those (or anything else) yet.

                  I was more after whether the general approach is OK, so I know if this branch (with bugs fixed) is worth persisting with.
                  One for the Dark Lord on his dark throne
                  In the Land of Mordor where the Shadows lie.

                  Comment

                  • Huqhox
                    Adept
                    • Apr 2016
                    • 145

                    #69
                    I'll vote yes.

                    Curses are annoying for the player but add dimension to the gameplay and I'm glad to see them back and with some nice ideas and features.

                    It's not perfect yet and there's a way to go but they will make 4.1 a far more interesting gaming experience.
                    "This has not been a recording"

                    Comment

                    • Nick
                      Vanilla maintainer
                      • Apr 2007
                      • 9634

                      #70
                      This branch has now been incorporated into master - builds are appearing an the nightlies page as I type. This does not mean the bugs have been fixed
                      One for the Dark Lord on his dark throne
                      In the Land of Mordor where the Shadows lie.

                      Comment

                      • PowerWyrm
                        Prophet
                        • Apr 2008
                        • 2986

                        #71
                        Originally posted by Nick
                        This branch has now been incorporated into master - builds are appearing an the nightlies page as I type. This does not mean the bugs have been fixed
                        Great, I'll have something to look at before my holidays
                        PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!

                        Comment

                        • PowerWyrm
                          Prophet
                          • Apr 2008
                          • 2986

                          #72
                          Originally posted by Ingwe Ingweron
                          Well, there's something off about the curses branch when it comes to artifacts.

                          @ just found the Hard Leather Armor of Himring (+0,+0) [20,+15], which has poison resistance, but in this case is also cursed with poison. (Poison power 10, when @ casts remove curse.) No strange characters in the message line this time, though. Also, I don't recall body armor having pluses to hit and damage identified (even if they are zero). I'm not talking about an encumbrance penalty, but the (+0,+0) on Himring.
                          I just rapidly looked at the changes, and there's nothing in the code that prevents artifacts from getting a curse: you still get the 5% chance of a curse being added like normal objects.
                          PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!

                          Comment

                          • Nick
                            Vanilla maintainer
                            • Apr 2007
                            • 9634

                            #73
                            Originally posted by PowerWyrm
                            I just rapidly looked at the changes, and there's nothing in the code that prevents artifacts from getting a curse: you still get the 5% chance of a curse being added like normal objects.
                            I guess that had better come out
                            One for the Dark Lord on his dark throne
                            In the Land of Mordor where the Shadows lie.

                            Comment

                            • PowerWyrm
                              Prophet
                              • Apr 2008
                              • 2986

                              #74
                              Also I don't really understand the poison and paralysis curses, since they can be countered by resist poison and free action. Replace poison by sickness (same as poison but not resistable) and paralysis by fainting (same as the salt water effect) and they would be fine.
                              PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!

                              Comment

                              • Pete Mack
                                Prophet
                                • Apr 2007
                                • 6883

                                #75
                                Both of those are too lethal. They make the item unusable, especially fainting. Poison can be worked around with a spell.

                                Comment

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