[2.1.7-r2685] dead Lost Soul remains alive and active

Bugs that have been investigated and resolved somehow.

Moderator: GZDoom Developers

Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Post Reply
unknownna
Posts: 215
Joined: Sat Oct 06, 2007 4:45 pm

[2.1.7-r2685] dead Lost Soul remains alive and active

Post by unknownna »

Originally reported here.

http://www.sendspace.com/file/tvznwy - Here's a WAD with the actor in it.

Code: Select all

Actor LostSoulBug
{
   Health 1
   Radius 16
   Height 56
   +SOLID
   +SHOOTABLE
   States
   {
   Spawn:
      TNT1 A 2
      Loop
   Death:
      TNT1 A 0 A_Explode (200)
      Stop
   }
}
Summon this actor in front of a charging Lost Soul. Remember to have god mode enabled. What's strange is that the Lost Soul dies, but still remains active. Using 'LineTarget' in the console confirms that. It'll keep behaving as if alive until it hits you or another actor when charging towards you. If it should hit you, it doesn't harm you. And when it's frozen/stuck, the Lost Soul still remains solid and looks as if it's stuck in an endless attack state (you can't pass through it). In 2.1.7 it remains active all the time and can still hurt you.

Edit:

It seems to have something to do with the timing.

Code: Select all

   Death:
      TNT1 A 0 A_Explode (200)
      Stop

No bug occurs if you change the above to what is below.

   Death:
      TNT1 A 1
      TNT1 A 0 A_Explode (200)
      Stop
User avatar
ZDG
Posts: 918
Joined: Sat Jan 02, 2010 12:01 pm
Location: in SlumpEd

Re: [2.1.7-r2685] dead Lost Soul remains alive and active

Post by ZDG »

Try this:

Code: Select all

Death:
TNT1 A 1 A_Explode (200)
stop
unknownna
Posts: 215
Joined: Sat Oct 06, 2007 4:45 pm

Re: [2.1.7-r2685] dead Lost Soul remains alive and active

Post by unknownna »

ZDG wrote:Try this:

Code: Select all

Death:
TNT1 A 1 A_Explode (200)
stop
That's not the point. I already tried that, and no, it doesn't prevent the glitch from occurring. I already know how to prevent it from occurring.
User avatar
ZDG
Posts: 918
Joined: Sat Jan 02, 2010 12:01 pm
Location: in SlumpEd

Re: [2.1.7-r2685] dead Lost Soul remains alive and active

Post by ZDG »

The glitch is most likely caused by the zero-duration death state, but the fact that a single frame doesn't work is beyond me.
User avatar
ChronoSeth
Posts: 1631
Joined: Mon Jul 05, 2010 2:04 pm
Location: British Columbia

Re: [2.1.7-r2685] dead Lost Soul remains alive and active

Post by ChronoSeth »

ZDG, I think you misunderstand. From what I've read, the "lostsoulbug" actor is meant to kill the lost soul, not "lostsoulbug" having the bug within its decorate code. Therefore, the problem is in the lost soul itself.

EDIT: wait, do you take into account that the first frame of any state will not use any actions that are defined until a loop is called? If that's the problem, then the lost soul is experiencing the same thing as when you shoot it while it's charging at you (getting frozen and flying backward, but since there's no recoil, it simply stays in place). What happens if you touch the lost soul (no godmode)?

Edit2: I'm so confused now... :?
Gez
 
 
Posts: 17938
Joined: Fri Jul 06, 2007 3:22 pm

Re: [2.1.7-r2685] dead Lost Soul remains alive and active

Post by Gez »

ChronoSeth wrote:EDIT: wait, do you take into account that the first frame of any state will not use any actions
No.


This only concerns the Spawn state. The deal is that an actor only executes whatever action its state calls when it transitions to that state. When an actor is created, however, it is not transitioning. This was an oversight that could legitimately be seen as a bug, but it's been part of the standard Doom behavior forever so changing this would potentially break a lot of stuff.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49223
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: [2.1.7-r2685] dead Lost Soul remains alive and active

Post by Graf Zahl »

fixed.

Here's the chain of events causing the bug:

- The LS hits the target and tries to damage it
- The target dies, enters the death state and calls A_Explode
- This kills the LS, setting it to its death state. So far everything occurs as expected.
- However, this happens in code that still tries to perform further actions on the LS, namely, resetting it to its moving states. This last action is what creates a zombie monster.

Simple remedy: Add a check if it's still alive before resetting the state.
unknownna
Posts: 215
Joined: Sat Oct 06, 2007 4:45 pm

Re: [2.1.7-r2685] dead Lost Soul remains alive and active

Post by unknownna »

Ok, glad to hear that. Thanks.
Post Reply

Return to “Closed Bugs [GZDoom]”