URL:
  <http://gna.org/bugs/?9976>

                 Summary: Infinite loop in air attack
                 Project: Wormux
            Submitted by: drayan
            Submitted on: mardi 11.09.2007 à 11:45
                Category: Weapon
                Severity: 5 - Blocker
                Priority: 9 - Immediate
                  Status: Confirmed
             Assigned to: drayan
        Originator Email: 
             Open/Closed: Open
                 Release: 0.8b2
         Discussion Lock: Any

    _______________________________________________________

Details:

As reported by haypo :
#2: So I tried "Air attack" weapon, but I got another bug. Wormux suddently 
stop (frozen display and with air attack sound loop). I was unable to kill 
Wormux problem. I had to use xkill+killall+kill the parent process (bash)
:-/

It came from an old already seen bug about infinite loop in projectile
explosion. In weapon_launcher.cpp, just remove Explosion() is sufficent
(already in trunk thanks to oznog) :
void WeaponProjectile::SetEnergyDelta(int /*delta*/, bool /*do_report*/)
{
  // Explosion();
}

An work around to keep exploding projectile is to set projectile enery to -2
and then test this value to know if we need to apply the explosion and avoid
the infinite loop.

void WeaponProjectile::SetEnergyDelta(int /*delta*/, bool /*do_report*/)
{
  if(life_points == -2)
    return;
  life_points = -2;
  Explosion();
}





    _______________________________________________________

Reply to this item at:

  <http://gna.org/bugs/?9976>

_______________________________________________
  Message posté via/par Gna!
  http://gna.org/


_______________________________________________
Wormux-gna mailing list
[email protected]
https://mail.gna.org/listinfo/wormux-gna

Reply via email to