nydus / heroprotocol

heroprotocol is a Javascript port of Blizzard/heroprotocol for Heroes of the Storm .StormReplay parsing
Other
19 stars 10 forks source link

Headers are binary different per extraction method #14

Open jnovack opened 6 years ago

jnovack commented 6 years ago

From JS Extraction:

{ m_signature: 'Heroes of the Storm replay\u001b11',
  m_version:
   { m_flags: 1,
     m_major: 2,
     m_minor: 35,
     m_revision: 0,
     m_build: 66488,
     m_baseBuild: 66488 },
  m_type: 2,
  m_elapsedGameLoops: 19371,
  m_useScaledTime: false,
  m_ngdpRootKey: { m_data: '�(���c�/�u���#��' },
  m_dataBuildNum: 66488,
  m_replayCompatibilityHash:
   { m_data: '\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000' } }

From storm-replay Extraction:

{ m_signature: 'Heroes of the Storm replay\u001b11',
  m_version:
   { m_flags: 1,
     m_major: 2,
     m_minor: 35,
     m_revision: 0,
     m_build: 66488,
     m_baseBuild: 66488 },
  m_type: 2,
  m_elapsedGameLoops: 19371,
  m_useScaledTime: false,
  m_ngdpRootKey: {},
  m_dataBuildNum: 66488 }
jnovack commented 6 years ago

It seems that any .m_data key is not fully processed by the storm-replay parser (e.g. m_ngdpRootKey and m_replayCompatibilityHash.

As these are currently garbage fields, I do not see much of an issue. But will leave this open as a known issue.