Inside3D!
     

New old Quake bug?

 
Post new topic   Reply to topic    Inside3d Forums Forum Index -> QuakeC Programming
View previous topic :: View next topic  
Author Message
Spirit



Joined: 20 Nov 2004
Posts: 476

PostPosted: Tue Mar 17, 2009 4:36 pm    Post subject: New old Quake bug? Reply with quote

I just stumbled into a bug that (reproducable) leaves a non-solid zombie behind.

Get this map http://www.quaddicted.com/filebase/abw.zip
Go into the room where the silver key sits on the lift above lava.
Your target is the zombie on the right when you look at the teleporter.
Have the zombie and hellknight get mad at each other.

Now comes the tricky part: Hurt the zombie so it gets down (it must lay, I guess that's when it's status is changed) right before the hknight attacks it. The hknight must be in his attack already or it won't work.
The zombie will immediately be awoken and in melee with the hknight. Now it is non-solid.

Two demos: http://www.quaketastic.com/upload/files/demos/zombiebug.zip

I tried it in Fitzquake, an unreleased engine and Darkplaces (don't forget sv_gameplayfix_blowupfallemzombies 0) so this surely is a QC bug.

Is this a know bug (I checked QIP)? Any of you awesome people mind dissecting it? I always love learning more about the inner workings.

My guess would be that the zombie is not non-solid to non-players allowing them to awake it without revoking the non-solidness.
_________________
Quake Maps
Back to top
View user's profile Send private message Visit poster's website
Supa



Joined: 26 Oct 2004
Posts: 122

PostPosted: Tue Mar 17, 2009 5:19 pm    Post subject: Reply with quote

ai_melee is to blame for this. :)

Once it starts the Hellknight's attack sequence continues regardless of the target's status. ai_melee doesn't check if the target is non-solid or otherwise should not be damageable. It just flat out applies damage to the target, which brings the zombie out of the zombie_paine sequence and leaves it non-solid.

It's an easy issue to fix, all that needs to be done is set the zombie's .takedamage to DAMAGE_NO when it goes non-solid and set it back to DAMAGE_AIM when it gets back up.
Back to top
View user's profile Send private message Send e-mail
Spirit



Joined: 20 Nov 2004
Posts: 476

PostPosted: Tue Mar 17, 2009 7:21 pm    Post subject: Reply with quote

Heh, what a silly oversight. "It cannot happen so no need to prevent it" ... "Ooops!"

Thanks!
_________________
Quake Maps
Back to top
View user's profile Send private message Visit poster's website
Lardarse



Joined: 05 Nov 2005
Posts: 243
Location: Bristol, UK

PostPosted: Wed Mar 18, 2009 5:53 am    Post subject: Reply with quote

I had this in e4m5 a couple of days ago, just after the gold key door.

At least I know what causes it now, so that I can fix it.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Inside3d Forums Forum Index -> QuakeC Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2004 phpBB Group