Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Reforged [DESYNC] - 2 Possible causes found

Discussion in 'Patch & Reforged Discussion' started by Blarto, Mar 9, 2020.

  1. Blarto

    Blarto

    Joined:
    Jan 17, 2010
    Messages:
    150
    Resources:
    1
    Spells:
    1
    Resources:
    1
    Bye. It is you who refuses to understand.

    I'm telling you and everyone else who has the misfortune of shovelling through this crap that I have TESTED it and it does desync. We tested it MULTIPLE TIMES TO BE SURE. Does it desync in the most recent patch? I don't know. but it did 1-2 months ago. I adopted/created a synced GetZ that solves this problem permanently and efficiently, so this isn't an issue for me anymore, but it might be for some other people.

    For those who are curious what exactly can desync in the map here is the boiled down test case:
    Fire a missile (Missile.j) over this terrain segment and then walk your units around (probably to trigger a movement update event in the netcode). result was a near instant desync. This requires someone using reforged and someone using classic. This particular terrain was created with steep cliffs in WE JNGP. In reforged GetLocationZ will return (0-0.5) difference for some reason in some of the "squares regions in the grid" on the decline portion of the terrain.

    upload_2020-4-5_13-39-30.png
     
  2. Zwiebelchen

    Zwiebelchen

    Joined:
    Sep 17, 2009
    Messages:
    7,014
    Resources:
    12
    Models:
    5
    Maps:
    1
    Spells:
    1
    Tutorials:
    1
    JASS:
    4
    Resources:
    12
    This is because FlyHeight affects occlusion on steep cliffs and it was always like this since the beginning of wc3. Again, this has nothing to do with Reforged and could potentially happen without Reforged too. The only reason it now happens more frequently is because Reforged cliffs might have different occlusion height than classic cliffs.
     
  3. Blarto

    Blarto

    Joined:
    Jan 17, 2010
    Messages:
    150
    Resources:
    1
    Spells:
    1
    Resources:
    1
    That is 100% correct and the entire essence of this topic.

    I didn't intend to claim GetLocationZ being bugged or any such nonsense. Generally pre 1.32 it wasn't an issue as all terrain meshes rendered equally save perhaps on Mac, which made GetLocationZ effectively synced as long as no terrain deformations were present. This made all Missile coders assume GetLocationZ was safe to use, which proved to be not a future-proof assumption given what Blizzard did to make cross play possible.

    In other words: This topic is 1 giant warning about a potential source why people Desync in reforged x classic mode.