MantisBT - Zandronum
View Issue Details
0001244Zandronum[All Projects] Bugpublic2013-01-02 20:402018-09-30 21:00
Cutman 
Torr Samaho 
normalmajoralways
closedfixed 
MicrosoftWindowsXP/Vista/7
1.0 
1.11.1 
0001244: A_JumpIfTargetInLOS working incorrectly online
The function A_JumpIfTargetInLOS works incorrectly online. It seems like the client isn't receiving the correct information and causes strange effects.
1. Download the attached file. It has code for a new Demon actor who stands still in awe while he's in line of sight of the player.
2. Host a server (with cheats) and summon the test actor DemonTest.
3. The demon with appear to be moving around in a strange way, but his hitbox remains where he SHOULD be (standing still when in sight).
4. Try it offline to see the correct behavior.
Here's the code:

actor DemonTest : Demon
{
states
{
  Spawn:
    SARG AB 10 A_Look
    Loop
  See:
    SARG A 0 A_JumpIfTargetInLOS("unsure",1000,360)
    SARG AABBCCDD 2 A_Chase
    Loop
  Melee:
    SARG EF 8 A_FaceTarget
    SARG G 8 A_SargAttack
    Goto See
  Pain:
    SARG H 2
    SARG H 2 A_Pain
    Goto See
  Death:
    SARG I 8
    SARG J 8 A_Scream
    SARG K 4
    SARG L 4 A_NoBlocking
    SARG M 4
    SARG N -1
    Stop
  Raise:
    SARG N 5
    SARG MLKJI 5
    Goto See
    
  unsure:
    SARG E 10
    Goto See
}
}
No tags attached.
? LOStest.wad (575) 2013-01-02 20:40
/tracker/file_download.php?file_id=910&type=bug
Issue History
2013-01-02 20:40CutmanNew Issue
2013-01-02 20:40CutmanFile Added: LOStest.wad
2013-01-02 21:48ToxicityNote Added: 0005672
2013-01-03 07:13ZzZomboNote Added: 0005674
2013-01-04 11:54Torr SamahoAssigned To => Torr Samaho
2013-01-04 11:54Torr SamahoStatusnew => assigned
2013-01-04 12:34Torr SamahoNote Added: 0005676
2013-01-04 12:34Torr SamahoStatusassigned => needs testing
2013-01-04 12:35Torr SamahoTarget Version => 1.1
2013-01-04 16:54CutmanNote Added: 0005681
2013-01-04 17:36Torr SamahoNote Added: 0005682
2013-01-07 19:34CutmanNote Added: 0005715
2013-01-07 19:41DuskStatusneeds testing => resolved
2013-01-07 19:41DuskFixed in Version => 1.1
2013-01-07 19:41DuskResolutionopen => fixed
2018-09-30 21:00Blzut3Statusresolved => closed

Notes
(0005672)
Toxicity   
2013-01-02 21:48   
Sounds like massive desync to me. The server interprets the function correctly (which is why the hitbox is in the right place) but apperantly it doesn't pass that on to the client.
(0005674)
ZzZombo   
2013-01-03 07:13   
Maybe it's elated to Dusk's bug report about A_CheckSight executed by clients on their own.
(0005676)
Torr Samaho   
2013-01-04 12:34   
This should improve the behavior. Due to the inherent problems of Zandronum's jump handling, the client still mispredicts the monster position locally till the client receives the correct jump outcome from the server.
(0005681)
Cutman   
2013-01-04 16:54   
Is that true of all jumps? I have a similar issue with A_JumpIf(args[0]==1,"blah") but not as severe as this one.
(0005682)
Torr Samaho   
2013-01-04 17:36   
All jumps whose outcome a client can't predict on its own (A_JumpIf is such a kind of jump) are affected by these mispredictions by the design of the current jump handling.
(0005715)
Cutman   
2013-01-07 19:34   
Working perfectly now