4.0.2 Bugs

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • PowerWyrm
    Prophet
    • Apr 2008
    • 2987

    Originally posted by Nick
    Right - this might explain the crash on torch dying during digging I failed to find upthread. Which loop is it that the bad object_delete() is called in?

    EDIT: I assume it's the one in inven_damage(). I should actually check them all.
    It's indeed the one in inven_damage(). I've checked every occurence of object_delete() in my code, and that was the only loop.
    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

    • Ingwe Ingweron
      Veteran
      • Jan 2009
      • 2129

      Is there a reason the General Store will not accept/buy unidentified ammunition, even though it sells ammunition? @ can still go to the Weaponsmith or the Black Market, I know. Nonetheless, I don't see the logic of the exception.
      “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

      • Derakon
        Prophet
        • Dec 2009
        • 9022

        Originally posted by Ingwe Ingweron
        Is there a reason the General Store will not accept/buy unidentified ammunition, even though it sells ammunition? @ can still go to the Weaponsmith or the Black Market, I know. Nonetheless, I don't see the logic of the exception.
        I don't think the general store buys anything. So I guess in that sense it's more consistent.

        Comment

        • Nick
          Vanilla maintainer
          • Apr 2007
          • 9647

          Originally posted by Ingwe Ingweron
          Is there a reason the General Store will not accept/buy unidentified ammunition, even though it sells ammunition?
          People need inconsistencies to discuss
          One for the Dark Lord on his dark throne
          In the Land of Mordor where the Shadows lie.

          Comment

          • fph
            Veteran
            • Apr 2009
            • 1030

            Originally posted by Derakon
            If there's any shriekers in the area, they could have hasted Morgoth. But I think that's the only way he can get faster than +30 speed.
            Oh - good point. I never realized that a puny shrieker could be a problem during the final fight. Maybe he summoned one at some point, and I let it take one turn because I didn't consider it an immediate danger. I'll pay more attention in the future to see if this is the case, thanks.
            --
            Dive fast, die young, leave a high-CHA corpse.

            Comment

            • Derakon
              Prophet
              • Dec 2009
              • 9022

              Originally posted by fph
              Oh - good point. I never realized that a puny shrieker could be a problem during the final fight. Maybe he summoned one at some point, and I let it take one turn because I didn't consider it an immediate danger. I'll pay more attention in the future to see if this is the case, thanks.
              There's a few other monsters that can shriek -- Crebain, Shambling Mounds, Neekerbreekers, Silent Watchers, and Shimmering Vortices. Generally you want to take shriekers down ASAP because of the multiplying threat potential they represent for all the other monsters in the area.

              Comment

              • zog
                Rookie
                • Oct 2015
                • 9

                I don't know if this is a bug or a feature, but Detect Treasure detects ignored items in unvisited squares. Very frustrating to clear a pit only to discover I was trying to fish out a Scroll of Summon Monster or something.

                Comment

                • Werbaer
                  Adept
                  • Aug 2014
                  • 182

                  Originally posted by zog
                  I don't know if this is a bug or a feature, but Detect Treasure detects ignored items in unvisited squares. Very frustrating to clear a pit only to discover I was trying to fish out a Scroll of Summon Monster or something.
                  A feature.
                  Detect treasure doesn't tell you what the items are, so your character doesn't know whether he wants to ignore them until he gets to see them.

                  Comment

                  • redlumf
                    Scout
                    • Aug 2015
                    • 25

                    Harmless bug.

                    in file init.c arround line 4363 you have to duplicate the string (cause of the 'static' buffer in vformat), otherwise the init messages are wrong.

                    the following works for me.
                    Code:
                                    char *msg=string_make(format("Initializing %s...", pl[i].name));
                    		event_signal_message(EVENT_INITSTATUS, 0, msg);
                    		string_free(msg);
                    Of course you never see those messages as they zap in an instant, but I kind of ported the 4.0.1 to amiga and the init part is a minute or two, so there...

                    Comment

                    • Egavactip
                      Swordsman
                      • Mar 2012
                      • 442

                      These have possibly been mentioned before, so apologies.

                      The spell "perception" is misspelled "pereption."

                      I think some of the item descriptions refer to features no longer in Angband. I wish I could remember which ones.

                      There is a glitch for me in which, after I look at the map, my character's icon disappears from the screen and only reappears after I have moved a square.

                      There are occasional graphic flickers as I move across the screen (this is Windows, fwiw).

                      Comment

                      • Nick
                        Vanilla maintainer
                        • Apr 2007
                        • 9647

                        Originally posted by AnonymousHero
                        Since the API is already such that it can, I think object_delete should actually set the pointed-to-pointer to NULL[1]. In my experience it's a much more reliable way of causing an immediate bad access to fail rather than relying on something like ASAN/UBSAN/&c. Obviously, I realize that either is undefined behavior, but in practice NULL access is pretty reliable at causing an immediate failure as long as the compiler doesn't optimize it away[2].

                        [1] AFAICT from current master, it doesn't.
                        Just checked this - it actually does:
                        Code:
                        /**
                         * Delete an object and free its memory, and set its pointer to NULL
                         */
                        void object_delete(struct object **obj_address)
                        {
                        	struct object *obj = *obj_address;
                        	struct object *prev = obj->prev;
                        	struct object *next = obj->next;
                        
                        	/* Free slays and brands */
                        	if (obj->slays)
                        		free_slay(obj->slays);
                        	if (obj->brands)
                        		free_brand(obj->brands);
                        
                        	/* Check any next and previous objects */
                        	if (next) {
                        		if (prev) {
                        			prev->next = next;
                        			next->prev = prev;
                        		} else {
                        			next->prev = NULL;
                        		}
                        	} else if (prev) {
                        		prev->next = NULL;
                        	}
                        
                        	/* If we're tracking the object, stop */
                        	if (player && player->upkeep && obj == player->upkeep->object)
                        		player->upkeep->object = NULL;
                        
                        	mem_free(obj);
                        	*obj_address = NULL;
                        }
                        One for the Dark Lord on his dark throne
                        In the Land of Mordor where the Shadows lie.

                        Comment

                        • zog
                          Rookie
                          • Oct 2015
                          • 9

                          Originally posted by Werbaer
                          A feature.
                          Detect treasure doesn't tell you what the items are, so your character doesn't know whether he wants to ignore them until he gets to see them.
                          That I understand, but the way it happens is not user-friendly right now. DT is available from almost the beginning, before many players have ways to detect monsters that are invisible and/or out of sight, so less astute players may see the "disappearing" items, assume monsters like ghosts or Smeagol walked away with them, and spend undue effort looking for them. At least that was the case with me for quite a while, until I saw detected items vanish right in front of my eyes.

                          Perhaps adding a message like "The item you detected is ignored" will clarify things?

                          Comment

                          • Ingwe Ingweron
                            Veteran
                            • Jan 2009
                            • 2129

                            Originally posted by zog
                            Perhaps adding a message like "The item you detected is ignored" will clarify things?
                            That would be an almost constant message spam.
                            “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

                            • fph
                              Veteran
                              • Apr 2009
                              • 1030

                              Originally posted by Ingwe Ingweron
                              That would be an almost constant message spam.
                              What about adding a remark "This (spell/staff/scroll) detects also items you have ignored" in the inline help message (`I` or `b`+`?`)?
                              --
                              Dive fast, die young, leave a high-CHA corpse.

                              Comment

                              • Egavactip
                                Swordsman
                                • Mar 2012
                                • 442

                                In my current game, Mushrooms of Emergency are not causing hallucinations, just all the other effects. I think in my last game they worked fine, which is a little odd.

                                Comment

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