Bugs and complaints on current master

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • Ingwe Ingweron
    replied
    This newest version is much more stable. Made it to DL 98 before it crashed, immediately upon level arrival down the stairs. Haven't been able to duplicate it, so I don't know what the crash was from, but it must have had trouble generating something.

    Edit: Yep, it's a crash on level generation, so no savefile will do much to troubleshoot it. However, if you go to DL 98/99 and stair scum, it shouldn't take too long to generate a crash.
    Last edited by Ingwe Ingweron; December 10, 2016, 08:15.

    Leave a comment:


  • Nick
    replied
    OK, there is a new build up on the nightlies page with the following changes:
    • Crash on removing all curses fixed
    • Other apparently random crashes probably also fixed (usually would have happened when an attack on the player prompted an attempt to learn object properties)
    • The sticky curse has been removed, and the One and Morgoth's crown now simply have the sticky property; putting on one of these gives the "deathly cold" message
    • The method of applying curses during object generation has been changed; this will probably result in more cursed objects, but no curses on artifacts (except deliberately cursed randarts)
    • Various code improvements by takkaria


    Randart generation still needs some work to fix the issue of lots of little modifier boosts, and to work the new curses in properly.

    Leave a comment:


  • takkaria
    replied
    Originally posted by spara
    A crash to desktop, when trying to pickup an arrow. Save attached.

    [ATTACH]1469[/ATTACH]
    Thanks for this, I've fixed it in 2726e70.

    Leave a comment:


  • spara
    replied
    A crash to desktop, when trying to pickup an arrow. Save attached.

    crash_on_arrow.zip

    Leave a comment:


  • PowerWyrm
    replied
    Just a little code improvement (object_runes_known):

    Code:
    for (i = 0; i < z_info->curse_max; i++) {
    		if (!curses_are_equal(obj, obj->known))
    			return false;
    	}
    No need for the loop, curses_are_equal() already loops on the curses.

    Leave a comment:


  • Nomad
    replied
    Originally posted by PowerWyrm
    Another change: the "Oops! It feels deathly cold!" message has been removed. To warn the player when wielding a cursed item, maybe keep the sound effect (using MSG_CURSED instead of MSG_WIELD if the item is cursed)?
    It seems like a bad idea to have information that's only available to the player as a sound cue. (I've always played with the sound turned off and I'm sure many other people do, plus it's inaccessible to deaf players.)

    I feel like there should be a message on wielding a cursed object, just not the old "Oops! It feels deathly cold!" message, which is too strongly associated with the traditional sticky curse. Maybe "A dark aura surrounds you" or something like that?
    Last edited by Nomad; December 9, 2016, 00:37.

    Leave a comment:


  • PowerWyrm
    replied
    Another change: the "Oops! It feels deathly cold!" message has been removed. To warn the player when wielding a cursed item, maybe keep the sound effect (using MSG_CURSED instead of MSG_WIELD if the item is cursed)?

    Leave a comment:


  • Nick
    replied
    Summary of my understanding of curse problems:
    • Loops starting from 0 or 1 should (in general) both be fine, as curses[0] is a blank one
    • Curse objects have not been removed as far as I'm aware; variability is certainly gone, and the whole of curse.txt needs to be overhauled
    • Being able to generate curses with power 0 is indeed an oversight
    • The crash is caused by freeing the object curse array but not setting the pointer to 0


    I should get to fixing on the weekend.

    Leave a comment:


  • PowerWyrm
    replied
    From the same commit, it seems like all randomization of curses has been lost: combat values (tohit, todam, toac) and modifiers. Since the "object" part of the curse has been removed, I'm not even sure curses do anything anymore (except the obvious ones).

    Leave a comment:


  • PowerWyrm
    replied
    Also inside those "for" loops, all curses with power = 0 should be excluded. For example (item_tester_uncursable):

    Code:
    for (i = 1; i < z_info->curse_max; i++) {
    if (c[i].power < 100) return true;
    }
    should be:

    Code:
    for (i = 0; i < z_info->curse_max; i++) {
    if (c[i].power == 0) continue;
    if (c[i].power < 100) return true;
    }

    Leave a comment:


  • PowerWyrm
    replied
    Oh yes, arrays of curses are browsed using a "for" loop that sometimes starts with 0 and sometimes starts with 1. Since the Steelskin curse is the last in the txt file, it is the first one in the "curses" array. That could explain the crash.

    Leave a comment:


  • PowerWyrm
    replied
    Originally posted by Ingwe Ingweron
    Here's a savefile with Curse weirdness and CRASH on Remove Curse.
    I'm just looking at the commit about curses (a222ddd). When they were a linked list, there was no problem because a curse would exist or not depending on whether or not it was a "link". With arrays, a curse exists if its power is nonzero in the array. However, when a curse is appended, its power is calculated from the object level... and the result can be zero. An easy fix would be to ensure that the power of the curse is at least 1 when it is appended to the object.

    Leave a comment:


  • Ingwe Ingweron
    replied
    Here's a savefile with Curse weirdness and CRASH on Remove Curse. Belwether.zip

    Curse Weirdness: @ has found Aiglos, which was identified as cursed when found, but on initially trying ?Remove Curse while in @'s pack, was informed "you have no curses to remove". ?Identify indicate "you have nothing to identify". @ must wield the weapon. Oddly enough, the curse can disappear when examining the weapon (not the "??", but the steelskin description, in this case. Go up or down stairs, or some other action that causes a refresh and the curse description would reappear. In addition, why are artifacts not normally cursed by their nature subject to these regular curses attaching to them? I think artifacts should be immune from such regular curses.

    Remove Curse CRASH: Now, to the CRASH. When the curse is shown on Aiglos, @ reads ?Remove Curse, successfully removing the Steelskin curse, but, then on examination of the weapon a whole host of curse descriptions appears. Take one step to the right and CRASH. Or, <Esc> from the descriptions and CRASH. Basically, CRASH!

    Hopefully the above description is clear enough to explain the curse/remove curse problems inherent in the attached savefile. Though, I'm very tired and think maybe I'm just rambling.

    Leave a comment:


  • Ingwe Ingweron
    replied
    Originally posted by Nick
    New build up which fixes the lore issue. For the others, I note that Medusa doesn't breathe, so I guess that was a bolt or ball spell. What type of hounds are you seeing this with?
    If I recall correctly, the hounds breathed inertia. I'll work on getting a savefile for you.

    Leave a comment:


  • Nick
    replied
    New build up which fixes the lore issue. For the others, I note that Medusa doesn't breathe, so I guess that was a bolt or ball spell. What type of hounds are you seeing this with?

    Leave a comment:

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