MantisBT - Zandronum
View Issue Details
0002317Zandronum[All Projects] Bugpublic2015-06-16 05:582019-06-04 21:54
unknownna 
Dusk 
normalminoralways
newopen 
2.0 
 
0002317: Another monster z desync: ThrustThingZ after being resurrected
See attached screenshot. The monsters will appear as dropping down and then teleporting back up. I noticed this issue while testing the Heretic RPG mod. A friendly hawk monster would teleport between the sky and the floor after respawning.
1. zandronum -iwad doom2.wad -file jumping_monsters_04b.wad -host
2. zandronum -iwad doom2.wad -file jumping_monsters_04b.wad -connect localhost
3. Join the game.
4. Kill the monsters with the chaingun. They will respawn.
Actor Test : ZombieMan 32767
{
    Health 1
    Speed 12
    +NOGRAVITY
    +FLOAT
    DropItem ""
    States
    {
    Spawn:
        PLAY AB 12 A_Look
        Loop
    See:
        PLAY AABBCCDD 3 A_Chase
        Loop
    Missile:
        Stop
    Pain:
        Stop
    XDeath:
    Death:
        PLAY N 5 A_NoBlocking
        PLAY N 5 A_Scream
        PLAY N 5 A_Gravity
        PLAY N 70
        TNT1 A 0 HealThing (999)
        TNT1 A 0 A_ChangeFlag ("SHOOTABLE", 1)
        TNT1 A 0 A_NoGravity
        PLAY N 2 ThrustThingZ (0, 10, 0, 1)
        Goto Spawn
    }
}
No tags attached.
related to 0002299confirmed  Another monster z desync issue: This time when walking on SOLID things 
png Screenshot_Doom_20150616_074141.png (58,463) 2015-06-16 05:58
https://zandronum.com/tracker/file_download.php?file_id=1554&type=bug
png

? jumping_monsters_04b.wad (1,573) 2015-06-16 06:21
https://zandronum.com/tracker/file_download.php?file_id=1556&type=bug
? jumping_monsters_04c.wad (1,586) 2015-06-17 01:25
https://zandronum.com/tracker/file_download.php?file_id=1560&type=bug
png Screenshot_Doom_20150617_031913.png (56,915) 2015-06-17 01:26
https://zandronum.com/tracker/file_download.php?file_id=1561&type=bug
png
Issue History
2015-06-16 05:58unknownnaNew Issue
2015-06-16 05:58unknownnaFile Added: Screenshot_Doom_20150616_074141.png
2015-06-16 05:58unknownnaFile Added: jumping_monsters_04.wad
2015-06-16 05:59unknownnaAdditional Information Updatedbug_revision_view_page.php?rev_id=7468#r7468
2015-06-16 06:00unknownnaRelationship addedrelated to 0002299
2015-06-16 06:00unknownnaStatusnew => confirmed
2015-06-16 06:21unknownnaFile Deleted: jumping_monsters_04.wad
2015-06-16 06:21unknownnaFile Added: jumping_monsters_04b.wad
2015-06-16 06:22unknownnaSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=7470#r7470
2015-06-16 06:22unknownnaAdditional Information Updatedbug_revision_view_page.php?rev_id=7471#r7471
2015-06-16 20:02DuskNote Added: 0012742
2015-06-16 20:02DuskAssigned To => Dusk
2015-06-16 20:02DuskStatusconfirmed => feedback
2015-06-17 01:25unknownnaFile Added: jumping_monsters_04c.wad
2015-06-17 01:26unknownnaFile Added: Screenshot_Doom_20150617_031913.png
2015-06-17 01:28unknownnaNote Added: 0012744
2015-06-17 01:28unknownnaStatusfeedback => assigned
2015-06-17 01:29unknownnaNote Edited: 0012744bug_revision_view_page.php?bugnote_id=12744#r7480
2015-06-17 01:31unknownnaNote Edited: 0012744bug_revision_view_page.php?bugnote_id=12744#r7481
2015-06-17 01:33unknownnaNote Edited: 0012744bug_revision_view_page.php?bugnote_id=12744#r7482
2015-06-17 01:35unknownnaNote Edited: 0012744bug_revision_view_page.php?bugnote_id=12744#r7483
2019-06-04 21:54DuskStatusassigned => new

Notes
(0012742)
Dusk   
2015-06-16 20:02   
Pretty sure this is a case of Don't Do That. You're not supposed to respawn monsters by giving them health and using "goto Spawn", but by properly resurrecting using e.g. Thing_Raise or with A_Respawn.

The "zombies" cannot be killed again after they first respawn as of 3.0.
(0012744)
unknownna   
2015-06-17 01:28   
(edited on: 2015-06-17 01:35)
But it still desyncs in 3.0. And before you dismiss this as a case of "Don't do that.", I'd like to know why it stops desyncing completely when the tic durations are changed. For instance, it doesn't seem to desync at all when the death state is changed from:

Death:
  PLAY N 5 A_NoBlocking
  PLAY N 5 A_Scream
  PLAY N 5 A_Gravity
  PLAY N 70
  TNT1 A 0 HealThing (999)
  TNT1 A 0 A_ChangeFlag ("SHOOTABLE", 1)
  TNT1 A 0 A_NoGravity
  PLAY N 2 ThrustThingZ (0, 10, 0, 1)
  Goto Spawn


To:

Death:
  PLAY N 1 A_NoBlocking
  PLAY N 1 A_Scream
  PLAY N 1 A_Gravity
  PLAY N 70
  PLAY N 1 HealThing (999)
  PLAY N 1 A_ChangeFlag ("SHOOTABLE", 1)
  PLAY N 1 A_NoGravity
  PLAY N 1 ThrustThingZ (0, 10, 0, 1)
  Goto Spawn

I still insist on there being an underlying issue causing the actual desync in the first place. Correct me if I'm wrong.

I made an example WAD that uses the correct behavior (and works in 3.0) and it still desyncs in a nasty way online. See attached screenshot. The jumping corpses are actually living monsters that have been resurrected with Thing_Raise.

Death:
  PLAY N 5 A_NoBlocking
  PLAY N 5 A_Scream
  PLAY N 5 A_Gravity
  PLAY N 70
  PLAY N -1 Thing_Raise (0)
  Stop
Raise:
  PLAY N 0
  PLAY N 0
  PLAY N 0 A_NoGravity
  PLAY N 2 ThrustThingZ (0, 10, 0, 1)
  Goto See