Difference between revisions of "Tag 667"

From DoomWiki.org

[unchecked revision][unchecked revision]
(Bugs)
(explanation of source code bug)
Line 13: Line 13:
  
 
Sometimes, if the last two Arachnotrons on [[MAP07: Dead Simple]] are killed such that the last one dies before the death animation for the first one has finished, the step to the exit switch rises twice, placing it too high for the player to step onto. The level can still be completed by strafe-running to the step from one of the square metal platforms, if lowered.
 
Sometimes, if the last two Arachnotrons on [[MAP07: Dead Simple]] are killed such that the last one dies before the death animation for the first one has finished, the step to the exit switch rises twice, placing it too high for the player to step onto. The level can still be completed by strafe-running to the step from one of the square metal platforms, if lowered.
 +
 +
This bug occurs because a monster is considered dead to the source code at the beginning of it's death sequence, but A_BossDeath is triggered at the end. Therefore, there is a short window where an arachnotron at the end of its death sequence could erroneously be considered the last arachnotron if the 'real' last arachnotron is still in the middle of it's death sequence.
  
 
* [[Media:Tag667bug.lmp|tag667bug.lmp]] ([[Image:Tag667bug.lmp|file info]]) - demo recorded using [[Doom II]] v1.666, demonstrating this bug.
 
* [[Media:Tag667bug.lmp|tag667bug.lmp]] ([[Image:Tag667bug.lmp|file info]]) - demo recorded using [[Doom II]] v1.666, demonstrating this bug.
  
 
[[Category:Tags]]
 
[[Category:Tags]]

Revision as of 15:08, 28 September 2005

Tag 667, closely related to tag 666, is used on Doom 2's MAP07 in conjunction with the Arachnotron. This is the relevant code (from p_enemy.c, lines 2180-2185 in prBoom 2.2.6):

         if (mo->type == MT_BABY)
           {
             junk.tag = 667;
             EV_DoFloor(&junk,raiseToTexture);
             return;
           }

When the last Arachnotron dies, any sectors tagged with the number 667 are raised up by the height of the first sidedef's lower texture. If the first sidedef does not have a lower texture, the second sidedef is used.

Bugs

Sometimes, if the last two Arachnotrons on MAP07: Dead Simple are killed such that the last one dies before the death animation for the first one has finished, the step to the exit switch rises twice, placing it too high for the player to step onto. The level can still be completed by strafe-running to the step from one of the square metal platforms, if lowered.

This bug occurs because a monster is considered dead to the source code at the beginning of it's death sequence, but A_BossDeath is triggered at the end. Therefore, there is a short window where an arachnotron at the end of its death sequence could erroneously be considered the last arachnotron if the 'real' last arachnotron is still in the middle of it's death sequence.