From a7f59cbb1a29a6ec0a192d4ce142f6f3dcb587a0 Mon Sep 17 00:00:00 2001 From: Rogiel Sulzbach Date: Thu, 21 Jul 2016 22:51:46 -0300 Subject: [PATCH] Add information about lobby slots to the replay structure --- bin/class_mapping.py | 4 +- bin/class_mapping.pyc | Bin 0 -> 6085 bytes bin/template.pyc | Bin 0 -> 2619 bytes bin/tree.pyc | Bin 0 -> 5076 bytes s2protocol | 2 +- src/Entity/Player.php | 28 +- src/Entity/Toon.php | 54 + .../Game/DecrementGameTimeRemainingEvent.php | 6 +- src/Event/Game/TriggerCameraMoveEvent.php | 4 +- src/Metadata/Init/LobbySlot.php | 241 +++ src/Metadata/Init/LobbyState.php | 4 +- src/Parser/Serializer/AbstractSerializer.php | 3 +- src/Replay.php | 3 + src/Version/Version15405.php | 4 +- src/Version/Version16561.php | 4 +- src/Version/Version16605.php | 4 +- src/Version/Version16755.php | 4 +- src/Version/Version16939.php | 4 +- src/Version/Version17266.php | 4 +- src/Version/Version17326.php | 4 +- src/Version/Version18092.php | 4 +- src/Version/Version18468.php | 4 +- src/Version/Version18574.php | 4 +- src/Version/Version19132.php | 4 +- src/Version/Version19458.php | 4 +- src/Version/Version19595.php | 4 +- src/Version/Version19679.php | 4 +- src/Version/Version21029.php | 4 +- src/Version/Version21995.php | 4 +- src/Version/Version22612.php | 4 +- src/Version/Version23260.php | 4 +- src/Version/Version24764.php | 4 +- src/Version/Version24944.php | 4 +- src/Version/Version26490.php | 4 +- src/Version/Version27950.php | 4 +- src/Version/Version28272.php | 4 +- src/Version/Version28667.php | 4 +- src/Version/Version32283.php | 4 +- src/Version/Version34784.php | 4 +- src/Version/Version34835.php | 4 +- src/Version/Version36442.php | 4 +- src/Version/Version38215.php | 4 +- src/Version/Version38535.php | 4 +- src/Version/Version38624.php | 4 +- src/Version/Version38749.php | 4 +- src/Version/Version38996.php | 4 +- src/Version/Version39117.php | 4 +- src/Version/Version39576.php | 4 +- src/Version/Version39948.php | 4 +- src/Version/Version40384.php | 4 +- src/Version/Version40977.php | 4 +- src/Version/Version41128.php | 4 +- src/Version/Version41219.php | 4 +- src/Version/Version41743.php | 4 +- src/Version/Version41973.php | 4 +- src/Version/Version42253.php | 4 +- src/Version/Version42932.php | 4 +- src/Version/Version43199.php | 4 +- src/Version/Version43478.php | 4 +- src/Version/Version44169.php | 1351 +++++++++++++++++ src/Version/Version44293.php | 1351 +++++++++++++++++ src/Version/Version44401.php | 1351 +++++++++++++++++ src/Version/Versions.php | 19 +- 63 files changed, 4545 insertions(+), 60 deletions(-) create mode 100644 bin/class_mapping.pyc create mode 100644 bin/template.pyc create mode 100644 bin/tree.pyc create mode 100644 src/Metadata/Init/LobbySlot.php create mode 100644 src/Version/Version44169.php create mode 100644 src/Version/Version44293.php create mode 100644 src/Version/Version44401.php diff --git a/bin/class_mapping.py b/bin/class_mapping.py index 3cab3c4..eac969f 100644 --- a/bin/class_mapping.py +++ b/bin/class_mapping.py @@ -58,9 +58,11 @@ def detect_class_types(protocol): for r in protocol.typeinfos[t[1]][1][0]: if r[0] == "m_gameOptions": mapping[r[1]] = 'Rogiel\StarReplay\Metadata\Init\GameOptions' - if t[0] == "m_lobbyState": mapping[t[1]] = 'Rogiel\StarReplay\Metadata\Init\LobbyState' + for s in protocol.typeinfos[t[1]][1][0]: + if s[0] == "m_slots": + mapping[protocol.typeinfos[s[1]][1][1]] = 'Rogiel\StarReplay\Metadata\Init\LobbySlot' for index, type in enumerate(protocol.typeinfos): if type[0] == '_struct': diff --git a/bin/class_mapping.pyc b/bin/class_mapping.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7dbde799b611b176ba28d8ee6a071bf41d4e1889 GIT binary patch literal 6085 zcmcgwOLH5?5uRNT0G|>cB1K5HsE2LQwnWHM!bA@3=s`x3CD95%1&N9()Dp7-R|0m4 zoq+=?z#*j^Qh}NpN0QxxYZmUQiwkY@dyoz8VVqf)0yoX!NQ%e)> zYT&ypNe|*}D-3i{32Hin7p22yMeAWSpLlLfmVKx0>U8`%kA~ofT0<-UP`RPX7lJBi z^F>d)D!=MBL#MXt>fZ+8vo%-g{AaE&gD@W&Dy5z9V(4zwobCLE=jSUmN2zk%+1m2_ z>cZBxo?v0VEE`?QtcQ(GMcN8$+8Vb8tqK`JH|fSsdW;4f0n^DBF}m8;7vmHeq_s)aRb4cI5G(^iF)JBgdd*sa&lLi}_% z_TVl!?Wqt;^cTP6I<{#2n%#_GgohEHx8v}{n;c-D|3=6(IXnv5$jL-5GfZ$<$ZV3J zaarIh$wBUfKszZHqB;Yj^54Sd61HiUsL_0$noRgz0bH$Ql%!OW{u&oin5hgfgNu(>B5fL;_S-46j@EB;E z>Anzhg6T}AFEzdpxJq)8J7G;~M{9mzpJ;2BPox!<3ese|%!+QwCC zd~4w0QY0lUo@T@g0YO(&ol(&qHEBSY=fqrROvtyyQ@C$T zKpP6RhyYQrgiiT3iy0rlDgd}>`nxna`Hpyz5}hMLo@aJ6$l(;C;GSph)!y9iGWSs- zdEsiKk>Gxxx&PRk`vP;LieF^eXe787m^+v5sd=8ckvJyZCzw0enH2I8!j@YImwqrtGW;Qg)yQE1YmyR59g_X%>dMfiH#-5IqnT}A=fhMKok0XTE zpSdd%5l`;#MF+_?V?-1AB9s3uEq}sFMI*6$5`;fx!hfda)dL7WWWsh@{%kK{qn*Z8 zYGgB!wM$I;d8((iAF;J42**YEC?h{+L^BP?jpgh^3PM2kg!wtc%!>A`2*1j-ei?gj zHh}??V<%nYRLhCZ3DG`byn2l_eVLKhSq1d+yuHjcUS>*-uQH9#Q@Bd4WriNwNv12} z^~rRjXEHVZlPO^>N7Trh;stgWOM|T}*VB<5)Nl5pF0*=n&9?5urX^F4VgN2$evAs( ztsX1P^E@km!6u=muu0FejptdefQb@ti)jZ3zYG3t=6RKs&iBy8Bk%PSwkwVW)|W zmU{P4AipxydJNR{vR{>3g&@#(-EH;Gq4;k*YLmC!ee}KW=*s3gKks0t7uFrx3F=W6 zN&8zjyyq#c-tRBbz&z;E(|5vtu`9mz^!B=;YGHOM?eDX&1QYWcf6W9+mB^!hwOmaz2kd&ogT}WYdy{~)V5!_7i?^7BOLJUu<%+z zJMqB?#a%4?u~08J@fkv+o>L=qb@dQH^y!k|f$253LKCR+-<>P|xxE~*x2bx^jkY{Lq2=8QhuG<`_4 z`iI+tz(Y_|xT({xRdEHMj(VMJTmRjqj;8ODwa}|p-LM!meRdilr=gBbMs_XbU%U}FR))uov{;}vHE)%f+R$^Njr4q_}A z(MmxJEE~V(gjHA5H1sI9`;ihX=lYm-AO3WzCQ~U0b?8){xnbF*Brel=h*EE(e-&p# z3uf(KSTi&WMYF8YGN6pbCR}k?gd)_>Y3aP2TUYXFORTgE@Jr^p_)#{ZlyqHXDqXB<}Nu`oPL{*aTn~oZWf9%shlSo0_pEt&=zpJY!AR`<~Vjd(z54@~jyH$4ToLB%6C~gg7#gM9&Kt zowEsV&OU0*faWcdV8{QH*4fl5pHg!m7U(3hu!=|5&)oXqj+!Zsm+FCR*4&Tzgqfma IC^IzpKZyMa=Kufz literal 0 HcmV?d00001 diff --git a/bin/template.pyc b/bin/template.pyc new file mode 100644 index 0000000000000000000000000000000000000000..62b9afbc3d0c1e1004abde14fadd99f32530bbc0 GIT binary patch literal 2619 zcmds3&5j#I5U!r_PwdSmVMBIhMA%4($Opi;aA1iLtOSuFBiclZh$3t7w9RbBo}s&) zWtH`5kvKuFoOlJ^fFm!&3-DF7J!|uG0BI$J*IlmapX%zaufN*(x9#@bpME$R(ek74 z`#zfc5F#V`f+!{W7K#!xqEv|)i&>*I60=TeEJ}mYnkY?5>on*#;Ag~M>u5DJcIgusFSfpQUf^ZPC3&jm{LMZ90Zhqwk5{L0Dh!(h+xWi3M%Yy^5IoE`ogA z&iF*x7KG<>nP+C^aa%C?i2k%Rh=Se z&kmn-*_poqF~O3dxE-=L=UeE^ys>Cg=dZ&`@_cwPEzID#*=$@m&-Xqq>@@Mg=@rGh-8PQjL)i_l)D*X3I>=9Am?0iFI8b7vVmE)_dfPbv<27GL!cPh{yH% zW^R+bZ~RGNpMHjDd$^Fauss`QIiJ|Ktbxzd-j~^|xAOmXdFo$<&s8jI=NYc%@P)cp zAV@XTuG&#;bxqw?vD#8iwG-{Z{y*bOvLn#a3=z$+(lHCUn7;&*W*CLE--I?b&Lxu# zIO!(({SE}9Xk&uY3^m<`5Eq(Jt{MCiie`N1Ydnf}iMZH@_X-yq5mwN+g(?3S8oy$Z zCng;b(0N4m7p9sECQ@`9{eg*MFa@_-#YEthB@>C(0o4f;fkMD8Jh#D2v>a?!OoU#c zATSZAXKgO{XT?NYbX;F&qBjB)U9FfX-KIfGU?k2$-*bw+O-4_RU1y9xG1b3DQlPF! z4<8Dddxp+eiA%hGH#uoD?O>4qMhFsT86Ut`Fhua*&>1aW*UGemKr@i zV`@dc18=k0M0Oot@@wa9OGIL-guII$$MKV@gZ24Oc%E61??f(t7fN`^9sCP%9*l_g z_Xb_LHz7_b)?HpF=bV?NvBBiN%dT%PV~PrY(1g(OM2pJV*MaZgPNQ5C342v+Vf}99B734+8tDqo4 zK?R-&o(g;sd=-qS#nLF|YGlx4aSh>`$7ODz!NhAy?L)|@Da<+56LI@EqdFP2uT^qW z?PEnlqN>$nt>!Qg;W_jUtFw!x99~s5=g>yscJY(QhRrak#z9!xyV@xi_pWtX7*j3o z-sI7gi!&IRvFw;Fv9)~1{Ww{#+Y*;4_p9+%6d3E_zR|85Q?0Lua@P!_Fsa)xC}BuR zV?Kpc`ND*Wsnp_TD{NO5TQ)S6YPglu+ttu+$H~LbLt`tC!YGK7O5(JPttW3K;YPc@ zTUl*I6`O?Nm5p6{67TEHv(j>Vq7h92jndOPrzdrTYvt0}DQ5i|!hl&}uTEC&yhl^6 z!F)yj4~%Jlm6^kXn?SI6EL{~7(c>0 zamt-W-<^&q0PwOfDruH4Y+!FWg;}Up(gaCLE06TFna2A#ugcv9#6M_xU1Gqqw zux1HS@^NnfFkir68a{9dU`yolqEbL0dLj+c2eOQ{%?bWrV!Zhhe2mH`5`QD~DclZ5 z<*3ujAo$0y;HsHGOY|3QvemHS41gV-%5sbAD=l&DImq7hUW7R7Ow$YMNmAb}&Dh!HKU!c7Pw9~2^7S}=uVtLu_&TLq`nNa^O?!wJ z9KTisNg;tlNDeWeX_2ZqgO(WH*|4oR0;P2cR$x3FjSNI*P>C@KPLT-IF`A3ENuw+7 zuC<8HE^(gjM;4cJeCN?6yq)&?upO@+MSpTQ&58vNolee8UzQmex2YLdu?22t@a*Bz z2rJDv&(X_hNKRk`rIKm#0!|W;5N?GawD1mkvvez(zG`^RiJ9WK9o8eU)IWLC3v;AF z3t)9+?vZrDsFTyTw|kx)VgUoe(KE?X_Kv+Ws{xxLS(zf&cJG8=amFGDq3h053_+<& zrexVr1`A@ur&-qPvn+Y6YIv~Flpl~a#gM)sY#uuY(jwFPDr9EVh$GNnWK#y^K;IoL zciYo3#LGk8WCqyO&H*B2hNaMlg@&q{Q)tD*TlOF_7t#GZ$oMs8wtY})Q@9mB?44*YmnjAaceRDn6yA4( zYh>cjSSd@i00A;a?~-_-O96pJ$=#{~8ZA}bYP;iQ)*Tc=f~1*aJU0fyJ;DM$!hGV~ z$}PMX?6UByZsE^Gb#v6>CLQ7RqV!h0mCVoofB0@7ExnJ$H5#{R0&+`_@w!n&T1cY^ zG^d(MQqmI{D`d|)L!-|4OW#ACk!7jD3{!*uGU_2}h|ie!v5Pey>JrIb@d%5)VHN$P zd+I}?{+&X4*H!0Rdg9YhVc6uLI9h!wRnLq1d5vW8 zX!YM@j5{xg`ho_j4s00*CKmlms^^KG(Wo?!e(m?Ex-aTKXymd-s|Tt2h^YUnk-$D< z71vX}QPKND+tFv~ol(J9Pj&L++jdMnhL7MJTRWjpKLSa;IjNR{6RML_JMSvGh17}* z%O$BjffTHUj|k&xZCnK>rQ$&KlE;g1Cg#-U<;)VtPk~JVM-Jh`0?Sm(5&`?0A>5kkgm zhPFm(sxkepy~1Xa%~>|DvU!co>uk=W5z~Y_Eh~GgZ*1UWgFBWPv~r+tB(aSf*gZp7 zK5XEt1SgERLbqU1?yg4aV|g#XO^86v5}r7wZyy6(%t`NHDs!C^;wU+name; + } + /** * @return string */ public function getName() { - return $this->name; + $hasClanTag = strpos($this->name, ''); + if(!$hasClanTag) { + return $this->name; + } + return substr($this->name, $hasClanTag + 5); } + /** + * @return string + */ + public function getClanTag() { + $hasClanTag = strpos($this->name, ''); + if(!$hasClanTag) { + return NULL; + } + return substr($this->name, 0, $hasClanTag); + } + /** * @return Toon */ @@ -144,7 +168,7 @@ class Player extends AbstractEntity { /** * @return boolean */ - public function isResult() { + public function getResult() { return $this->result; } diff --git a/src/Entity/Toon.php b/src/Entity/Toon.php index 4686020..7cefb03 100644 --- a/src/Entity/Toon.php +++ b/src/Entity/Toon.php @@ -36,6 +36,60 @@ class Toon extends AbstractEntity { private $realm; private $id; + /** + * @return mixed + */ + public function getRegion() { + return $this->region; + } + /** + * @param mixed $region + */ + public function setRegion($region) { + $this->region = $region; + } + + /** + * @return mixed + */ + public function getProgramId() { + return $this->programId; + } + + /** + * @param mixed $programId + */ + public function setProgramId($programId) { + $this->programId = $programId; + } + + /** + * @return mixed + */ + public function getRealm() { + return $this->realm; + } + + /** + * @param mixed $realm + */ + public function setRealm($realm) { + $this->realm = $realm; + } + + /** + * @return mixed + */ + public function getId() { + return $this->id; + } + + /** + * @param mixed $id + */ + public function setId($id) { + $this->id = $id; + } } \ No newline at end of file diff --git a/src/Event/Game/DecrementGameTimeRemainingEvent.php b/src/Event/Game/DecrementGameTimeRemainingEvent.php index e58a36f..66ee095 100644 --- a/src/Event/Game/DecrementGameTimeRemainingEvent.php +++ b/src/Event/Game/DecrementGameTimeRemainingEvent.php @@ -31,7 +31,7 @@ namespace Rogiel\StarReplay\Event\Game; class DecrementGameTimeRemainingEvent extends AbstractGameEvent { /** @var integer */ - public $decrementMs; + public $decrementSeconds; /** * @return string the event name @@ -44,10 +44,10 @@ class DecrementGameTimeRemainingEvent extends AbstractGameEvent { * @return string a string representation of the event */ public function __toString() { - return $this->getEventName()."{ decrementMs = $this->decrementMs }"; + return $this->getEventName()."{ decrementSeconds = $this->decrementSeconds }"; } /** @return integer */ - public function getDecrementMs() { return $this->decrementMs; } + public function getDecrementSeconds() { return $this->decrementSeconds; } } \ No newline at end of file diff --git a/src/Event/Game/TriggerCameraMoveEvent.php b/src/Event/Game/TriggerCameraMoveEvent.php index a7b6603..f94cbdc 100644 --- a/src/Event/Game/TriggerCameraMoveEvent.php +++ b/src/Event/Game/TriggerCameraMoveEvent.php @@ -30,7 +30,7 @@ namespace Rogiel\StarReplay\Event\Game; class TriggerCameraMoveEvent extends AbstractGameEvent { - /** @var array */ + /** @var \Rogiel\StarReplay\Event\Game\Entity\SubgroupUnit */ public $reason; /** @@ -47,7 +47,7 @@ class TriggerCameraMoveEvent extends AbstractGameEvent { return $this->getEventName()."{ reason = $this->reason }"; } - /** @return array */ + /** @return \Rogiel\StarReplay\Event\Game\Entity\SubgroupUnit */ public function getReason() { return $this->reason; } } \ No newline at end of file diff --git a/src/Metadata/Init/LobbySlot.php b/src/Metadata/Init/LobbySlot.php new file mode 100644 index 0000000..88499de --- /dev/null +++ b/src/Metadata/Init/LobbySlot.php @@ -0,0 +1,241 @@ +control; + } + + /** + * @return mixed + */ + public function getUserId() { + return $this->userId; + } + + /** + * @return mixed + */ + public function getTeamId() { + return $this->teamId; + } + + /** + * @return array + */ + public function getColorPref() { + return $this->colorPref; + } + + /** + * @return mixed + */ + public function getRacePref() { + return $this->racePref; + } + + /** + * @return mixed + */ + public function getDifficulty() { + return $this->difficulty; + } + + /** + * @return mixed + */ + public function getAiBuild() { + return $this->aiBuild; + } + + /** + * @return mixed + */ + public function getHandicap() { + return $this->handicap; + } + + /** + * @return mixed + */ + public function getObserve() { + return $this->observe; + } + + /** + * @return mixed + */ + public function getLogoIndex() { + return $this->logoIndex; + } + + /** + * @return mixed + */ + public function getHero() { + return $this->hero; + } + + /** + * @return mixed + */ + public function getSkin() { + return $this->skin; + } + + /** + * @return mixed + */ + public function getMount() { + return $this->mount; + } + + /** + * @return array + */ + public function getArtifacts() { + return $this->artifacts; + } + + /** + * @return mixed + */ + public function getWorkingSetSlotId() { + return $this->workingSetSlotId; + } + + /** + * @return array + */ + public function getRewards() { + return $this->rewards; + } + + /** + * @return mixed + */ + public function getToonHandle() { + return $this->toonHandle; + } + + /** + * @return mixed + */ + public function getLicenses() { + return $this->licenses; + } + + /** + * @return mixed + */ + public function getTandemLeaderId() { + return $this->tandemLeaderId; + } + + /** + * @return mixed + */ + public function getCommander() { + return $this->commander; + } + + /** + * @return mixed + */ + public function getCommanderLevel() { + return $this->commanderLevel; + } + + /** + * @return mixed + */ + public function getHasSilencePenalty() { + return $this->hasSilencePenalty; + } + + /** + * @return mixed + */ + public function getTandemId() { + return $this->tandemId; + } + + /** + * @return mixed + */ + public function getCommanderMasteryLevel() { + return $this->commanderMasteryLevel; + } + + /** + * @return mixed + */ + public function getCommanderMasteryTalents() { + return $this->commanderMasteryTalents; + } + +} \ No newline at end of file diff --git a/src/Metadata/Init/LobbyState.php b/src/Metadata/Init/LobbyState.php index 0f578e1..4d33c4c 100644 --- a/src/Metadata/Init/LobbyState.php +++ b/src/Metadata/Init/LobbyState.php @@ -47,7 +47,7 @@ class LobbyState { private $maxObservers; /** - * @var integer + * @var LobbySlot[] */ private $slots; @@ -108,7 +108,7 @@ class LobbyState { } /** - * @return int + * @return LobbySlot[] */ public function getSlots() { return $this->slots; diff --git a/src/Parser/Serializer/AbstractSerializer.php b/src/Parser/Serializer/AbstractSerializer.php index e54258f..d34ee38 100644 --- a/src/Parser/Serializer/AbstractSerializer.php +++ b/src/Parser/Serializer/AbstractSerializer.php @@ -103,8 +103,7 @@ abstract class AbstractSerializer implements Serializer{ ); } else if($rootNode instanceof ChoiceNode) { return $this->decorateObject( - $this->parseChoice($rootNode) - , + $this->parseChoice($rootNode), $rootNode ); } else if($rootNode instanceof IntegerNode) { diff --git a/src/Replay.php b/src/Replay.php index d5870c9..b0883a4 100644 --- a/src/Replay.php +++ b/src/Replay.php @@ -240,6 +240,9 @@ class Replay { } $stream = $this->file->openStream('replay.tracker.events'); +// echo bin2hex($stream->readBytes(10)); +// die(); + $stream = new BitStream($stream); $parser = new ReplayStreamParser($stream); $serializer = new VersionedSerializer($parser, $this->getVersion()->getTree(), $this->hydratorFactory); diff --git a/src/Version/Version15405.php b/src/Version/Version15405.php index 7b8735d..10b85de 100644 --- a/src/Version/Version15405.php +++ b/src/Version/Version15405.php @@ -333,7 +333,9 @@ Version15405::$TREE = new Tree([ "handicap" => array('type' => 0, 'tag' => -3), "observe" => array('type' => 19, 'tag' => -2), "rewards" => array('type' => 50, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 52 => new ArrayNode( new IntegerNode(5, 0), 51 diff --git a/src/Version/Version16561.php b/src/Version/Version16561.php index 29e88aa..0422964 100644 --- a/src/Version/Version16561.php +++ b/src/Version/Version16561.php @@ -338,7 +338,9 @@ Version16561::$TREE = new Tree([ "handicap" => array('type' => 0, 'tag' => -3), "observe" => array('type' => 19, 'tag' => -2), "rewards" => array('type' => 51, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 53 => new ArrayNode( new IntegerNode(5, 0), 52 diff --git a/src/Version/Version16605.php b/src/Version/Version16605.php index 14143c0..2205647 100644 --- a/src/Version/Version16605.php +++ b/src/Version/Version16605.php @@ -338,7 +338,9 @@ Version16605::$TREE = new Tree([ "handicap" => array('type' => 0, 'tag' => -3), "observe" => array('type' => 19, 'tag' => -2), "rewards" => array('type' => 51, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 53 => new ArrayNode( new IntegerNode(5, 0), 52 diff --git a/src/Version/Version16755.php b/src/Version/Version16755.php index 1879681..07d26ef 100644 --- a/src/Version/Version16755.php +++ b/src/Version/Version16755.php @@ -338,7 +338,9 @@ Version16755::$TREE = new Tree([ "handicap" => array('type' => 0, 'tag' => -3), "observe" => array('type' => 19, 'tag' => -2), "rewards" => array('type' => 51, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 53 => new ArrayNode( new IntegerNode(5, 0), 52 diff --git a/src/Version/Version16939.php b/src/Version/Version16939.php index 75073b9..fbe0c3d 100644 --- a/src/Version/Version16939.php +++ b/src/Version/Version16939.php @@ -338,7 +338,9 @@ Version16939::$TREE = new Tree([ "handicap" => array('type' => 0, 'tag' => -3), "observe" => array('type' => 19, 'tag' => -2), "rewards" => array('type' => 51, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 53 => new ArrayNode( new IntegerNode(5, 0), 52 diff --git a/src/Version/Version17266.php b/src/Version/Version17266.php index c4ad167..50c4558 100644 --- a/src/Version/Version17266.php +++ b/src/Version/Version17266.php @@ -338,7 +338,9 @@ Version17266::$TREE = new Tree([ "observe" => array('type' => 19, 'tag' => -3), "rewards" => array('type' => 50, 'tag' => -2), "toonHandle" => array('type' => 15, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 52 => new ArrayNode( new IntegerNode(5, 0), 51 diff --git a/src/Version/Version17326.php b/src/Version/Version17326.php index 120fcb1..bafcbe7 100644 --- a/src/Version/Version17326.php +++ b/src/Version/Version17326.php @@ -338,7 +338,9 @@ Version17326::$TREE = new Tree([ "observe" => array('type' => 19, 'tag' => -3), "rewards" => array('type' => 50, 'tag' => -2), "toonHandle" => array('type' => 15, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 52 => new ArrayNode( new IntegerNode(5, 0), 51 diff --git a/src/Version/Version18092.php b/src/Version/Version18092.php index ea64e5c..960c58a 100644 --- a/src/Version/Version18092.php +++ b/src/Version/Version18092.php @@ -338,7 +338,9 @@ Version18092::$TREE = new Tree([ "observe" => array('type' => 19, 'tag' => -3), "rewards" => array('type' => 50, 'tag' => -2), "toonHandle" => array('type' => 15, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 52 => new ArrayNode( new IntegerNode(5, 0), 51 diff --git a/src/Version/Version18468.php b/src/Version/Version18468.php index fdfeadf..7a03b06 100644 --- a/src/Version/Version18468.php +++ b/src/Version/Version18468.php @@ -338,7 +338,9 @@ Version18468::$TREE = new Tree([ "observe" => array('type' => 19, 'tag' => -3), "rewards" => array('type' => 50, 'tag' => -2), "toonHandle" => array('type' => 15, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 52 => new ArrayNode( new IntegerNode(5, 0), 51 diff --git a/src/Version/Version18574.php b/src/Version/Version18574.php index 51b4cb6..9ec85a9 100644 --- a/src/Version/Version18574.php +++ b/src/Version/Version18574.php @@ -338,7 +338,9 @@ Version18574::$TREE = new Tree([ "observe" => array('type' => 19, 'tag' => -3), "rewards" => array('type' => 50, 'tag' => -2), "toonHandle" => array('type' => 15, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 52 => new ArrayNode( new IntegerNode(5, 0), 51 diff --git a/src/Version/Version19132.php b/src/Version/Version19132.php index 176f148..a5ba34c 100644 --- a/src/Version/Version19132.php +++ b/src/Version/Version19132.php @@ -343,7 +343,9 @@ Version19132::$TREE = new Tree([ "rewards" => array('type' => 50, 'tag' => -3), "toonHandle" => array('type' => 15, 'tag' => -2), "licenses" => array('type' => 51, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 53 => new ArrayNode( new IntegerNode(5, 0), 52 diff --git a/src/Version/Version19458.php b/src/Version/Version19458.php index 95fa4b7..97b6b2a 100644 --- a/src/Version/Version19458.php +++ b/src/Version/Version19458.php @@ -343,7 +343,9 @@ Version19458::$TREE = new Tree([ "rewards" => array('type' => 50, 'tag' => -3), "toonHandle" => array('type' => 15, 'tag' => -2), "licenses" => array('type' => 51, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 53 => new ArrayNode( new IntegerNode(5, 0), 52 diff --git a/src/Version/Version19595.php b/src/Version/Version19595.php index 5471b4a..e405ec8 100644 --- a/src/Version/Version19595.php +++ b/src/Version/Version19595.php @@ -343,7 +343,9 @@ Version19595::$TREE = new Tree([ "rewards" => array('type' => 50, 'tag' => -3), "toonHandle" => array('type' => 15, 'tag' => -2), "licenses" => array('type' => 51, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 53 => new ArrayNode( new IntegerNode(5, 0), 52 diff --git a/src/Version/Version19679.php b/src/Version/Version19679.php index 44e8581..353b010 100644 --- a/src/Version/Version19679.php +++ b/src/Version/Version19679.php @@ -343,7 +343,9 @@ Version19679::$TREE = new Tree([ "rewards" => array('type' => 50, 'tag' => -3), "toonHandle" => array('type' => 15, 'tag' => -2), "licenses" => array('type' => 51, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 53 => new ArrayNode( new IntegerNode(5, 0), 52 diff --git a/src/Version/Version21029.php b/src/Version/Version21029.php index 5a63be7..1722189 100644 --- a/src/Version/Version21029.php +++ b/src/Version/Version21029.php @@ -343,7 +343,9 @@ Version21029::$TREE = new Tree([ "rewards" => array('type' => 50, 'tag' => -3), "toonHandle" => array('type' => 15, 'tag' => -2), "licenses" => array('type' => 51, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 53 => new ArrayNode( new IntegerNode(5, 0), 52 diff --git a/src/Version/Version21995.php b/src/Version/Version21995.php index 6b21b6d..a0ef6b1 100644 --- a/src/Version/Version21995.php +++ b/src/Version/Version21995.php @@ -349,7 +349,9 @@ Version21995::$TREE = new Tree([ "rewards" => array('type' => 52, 'tag' => -3), "toonHandle" => array('type' => 15, 'tag' => -2), "licenses" => array('type' => 53, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 55 => new ArrayNode( new IntegerNode(5, 0), 54 diff --git a/src/Version/Version22612.php b/src/Version/Version22612.php index 741edbc..217a453 100644 --- a/src/Version/Version22612.php +++ b/src/Version/Version22612.php @@ -350,7 +350,9 @@ Version22612::$TREE = new Tree([ "rewards" => array('type' => 52, 'tag' => -3), "toonHandle" => array('type' => 15, 'tag' => -2), "licenses" => array('type' => 53, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 55 => new ArrayNode( new IntegerNode(5, 0), 54 diff --git a/src/Version/Version23260.php b/src/Version/Version23260.php index aeaf815..8447842 100644 --- a/src/Version/Version23260.php +++ b/src/Version/Version23260.php @@ -350,7 +350,9 @@ Version23260::$TREE = new Tree([ "rewards" => array('type' => 52, 'tag' => -3), "toonHandle" => array('type' => 15, 'tag' => -2), "licenses" => array('type' => 53, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 55 => new ArrayNode( new IntegerNode(5, 0), 54 diff --git a/src/Version/Version24764.php b/src/Version/Version24764.php index b14d23f..1adc34b 100644 --- a/src/Version/Version24764.php +++ b/src/Version/Version24764.php @@ -366,7 +366,9 @@ Version24764::$TREE = new Tree([ "rewards" => array('type' => 55, 'tag' => -3), "toonHandle" => array('type' => 15, 'tag' => -2), "licenses" => array('type' => 56, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 58 => new ArrayNode( new IntegerNode(5, 0), 57 diff --git a/src/Version/Version24944.php b/src/Version/Version24944.php index 21c2f0b..edb8ee5 100644 --- a/src/Version/Version24944.php +++ b/src/Version/Version24944.php @@ -366,7 +366,9 @@ Version24944::$TREE = new Tree([ "rewards" => array('type' => 55, 'tag' => -3), "toonHandle" => array('type' => 15, 'tag' => -2), "licenses" => array('type' => 56, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 58 => new ArrayNode( new IntegerNode(5, 0), 57 diff --git a/src/Version/Version26490.php b/src/Version/Version26490.php index dbb6453..85ce76d 100644 --- a/src/Version/Version26490.php +++ b/src/Version/Version26490.php @@ -369,7 +369,9 @@ Version26490::$TREE = new Tree([ "rewards" => array('type' => 56, 'tag' => -3), "toonHandle" => array('type' => 16, 'tag' => -2), "licenses" => array('type' => 57, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 59 => new ArrayNode( new IntegerNode(5, 0), 58 diff --git a/src/Version/Version27950.php b/src/Version/Version27950.php index ea7eb4d..db85d80 100644 --- a/src/Version/Version27950.php +++ b/src/Version/Version27950.php @@ -372,7 +372,9 @@ Version27950::$TREE = new Tree([ "rewards" => array('type' => 57, 'tag' => -3), "toonHandle" => array('type' => 16, 'tag' => -2), "licenses" => array('type' => 58, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 60 => new ArrayNode( new IntegerNode(5, 0), 59 diff --git a/src/Version/Version28272.php b/src/Version/Version28272.php index 249a6a5..aa3f415 100644 --- a/src/Version/Version28272.php +++ b/src/Version/Version28272.php @@ -372,7 +372,9 @@ Version28272::$TREE = new Tree([ "rewards" => array('type' => 57, 'tag' => -3), "toonHandle" => array('type' => 16, 'tag' => -2), "licenses" => array('type' => 58, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 60 => new ArrayNode( new IntegerNode(5, 0), 59 diff --git a/src/Version/Version28667.php b/src/Version/Version28667.php index a889f5c..d8b43ee 100644 --- a/src/Version/Version28667.php +++ b/src/Version/Version28667.php @@ -372,7 +372,9 @@ Version28667::$TREE = new Tree([ "rewards" => array('type' => 57, 'tag' => -3), "toonHandle" => array('type' => 16, 'tag' => -2), "licenses" => array('type' => 58, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 60 => new ArrayNode( new IntegerNode(5, 0), 59 diff --git a/src/Version/Version32283.php b/src/Version/Version32283.php index 2604eb0..ec1d065 100644 --- a/src/Version/Version32283.php +++ b/src/Version/Version32283.php @@ -373,7 +373,9 @@ Version32283::$TREE = new Tree([ "rewards" => array('type' => 57, 'tag' => -3), "toonHandle" => array('type' => 16, 'tag' => -2), "licenses" => array('type' => 58, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 60 => new ArrayNode( new IntegerNode(5, 0), 59 diff --git a/src/Version/Version34784.php b/src/Version/Version34784.php index 9703ac0..38fcd47 100644 --- a/src/Version/Version34784.php +++ b/src/Version/Version34784.php @@ -408,7 +408,9 @@ Version34784::$TREE = new Tree([ "licenses" => array('type' => 64, 'tag' => -3), "tandemLeaderUserId" => array('type' => 59, 'tag' => -2), "commander" => array('type' => 46, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 66 => new ArrayNode( new IntegerNode(5, 0), 65 diff --git a/src/Version/Version34835.php b/src/Version/Version34835.php index c3b0004..73aa020 100644 --- a/src/Version/Version34835.php +++ b/src/Version/Version34835.php @@ -408,7 +408,9 @@ Version34835::$TREE = new Tree([ "licenses" => array('type' => 64, 'tag' => -3), "tandemLeaderUserId" => array('type' => 59, 'tag' => -2), "commander" => array('type' => 46, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 66 => new ArrayNode( new IntegerNode(5, 0), 65 diff --git a/src/Version/Version36442.php b/src/Version/Version36442.php index c7752cc..7b9e759 100644 --- a/src/Version/Version36442.php +++ b/src/Version/Version36442.php @@ -409,7 +409,9 @@ Version36442::$TREE = new Tree([ "tandemLeaderUserId" => array('type' => 59, 'tag' => -3), "commander" => array('type' => 46, 'tag' => -2), "commanderLevel" => array('type' => 6, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 66 => new ArrayNode( new IntegerNode(5, 0), 65 diff --git a/src/Version/Version38215.php b/src/Version/Version38215.php index 6ce193f..b53f22a 100644 --- a/src/Version/Version38215.php +++ b/src/Version/Version38215.php @@ -410,7 +410,9 @@ Version38215::$TREE = new Tree([ "commander" => array('type' => 46, 'tag' => -3), "commanderLevel" => array('type' => 6, 'tag' => -2), "hasSilencePenalty" => array('type' => 13, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 66 => new ArrayNode( new IntegerNode(5, 0), 65 diff --git a/src/Version/Version38535.php b/src/Version/Version38535.php index 1a3c78b..be7c46d 100644 --- a/src/Version/Version38535.php +++ b/src/Version/Version38535.php @@ -410,7 +410,9 @@ Version38535::$TREE = new Tree([ "commander" => array('type' => 46, 'tag' => -3), "commanderLevel" => array('type' => 6, 'tag' => -2), "hasSilencePenalty" => array('type' => 13, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 66 => new ArrayNode( new IntegerNode(5, 0), 65 diff --git a/src/Version/Version38624.php b/src/Version/Version38624.php index c01af3d..879b157 100644 --- a/src/Version/Version38624.php +++ b/src/Version/Version38624.php @@ -410,7 +410,9 @@ Version38624::$TREE = new Tree([ "commander" => array('type' => 46, 'tag' => -3), "commanderLevel" => array('type' => 6, 'tag' => -2), "hasSilencePenalty" => array('type' => 13, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 66 => new ArrayNode( new IntegerNode(5, 0), 65 diff --git a/src/Version/Version38749.php b/src/Version/Version38749.php index d7383c7..de43fd1 100644 --- a/src/Version/Version38749.php +++ b/src/Version/Version38749.php @@ -407,7 +407,9 @@ Version38749::$TREE = new Tree([ "commander" => array('type' => 46, 'tag' => -3), "commanderLevel" => array('type' => 6, 'tag' => -2), "hasSilencePenalty" => array('type' => 13, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 65 => new ArrayNode( new IntegerNode(5, 0), 64 diff --git a/src/Version/Version38996.php b/src/Version/Version38996.php index 7fe6db1..04996c7 100644 --- a/src/Version/Version38996.php +++ b/src/Version/Version38996.php @@ -407,7 +407,9 @@ Version38996::$TREE = new Tree([ "commander" => array('type' => 46, 'tag' => -3), "commanderLevel" => array('type' => 6, 'tag' => -2), "hasSilencePenalty" => array('type' => 13, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 65 => new ArrayNode( new IntegerNode(5, 0), 64 diff --git a/src/Version/Version39117.php b/src/Version/Version39117.php index 9802562..9e2cca2 100644 --- a/src/Version/Version39117.php +++ b/src/Version/Version39117.php @@ -407,7 +407,9 @@ Version39117::$TREE = new Tree([ "commander" => array('type' => 46, 'tag' => -3), "commanderLevel" => array('type' => 6, 'tag' => -2), "hasSilencePenalty" => array('type' => 13, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 65 => new ArrayNode( new IntegerNode(5, 0), 64 diff --git a/src/Version/Version39576.php b/src/Version/Version39576.php index f7a1ac1..869f134 100644 --- a/src/Version/Version39576.php +++ b/src/Version/Version39576.php @@ -408,7 +408,9 @@ Version39576::$TREE = new Tree([ "commanderLevel" => array('type' => 6, 'tag' => -3), "hasSilencePenalty" => array('type' => 13, 'tag' => -2), "tandemId" => array('type' => 58, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 65 => new ArrayNode( new IntegerNode(5, 0), 64 diff --git a/src/Version/Version39948.php b/src/Version/Version39948.php index cc49a5a..95b452c 100644 --- a/src/Version/Version39948.php +++ b/src/Version/Version39948.php @@ -408,7 +408,9 @@ Version39948::$TREE = new Tree([ "commanderLevel" => array('type' => 6, 'tag' => -3), "hasSilencePenalty" => array('type' => 13, 'tag' => -2), "tandemId" => array('type' => 58, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 65 => new ArrayNode( new IntegerNode(5, 0), 64 diff --git a/src/Version/Version40384.php b/src/Version/Version40384.php index e54f1c4..db1e9c3 100644 --- a/src/Version/Version40384.php +++ b/src/Version/Version40384.php @@ -408,7 +408,9 @@ Version40384::$TREE = new Tree([ "commanderLevel" => array('type' => 6, 'tag' => -3), "hasSilencePenalty" => array('type' => 13, 'tag' => -2), "tandemId" => array('type' => 58, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 65 => new ArrayNode( new IntegerNode(5, 0), 64 diff --git a/src/Version/Version40977.php b/src/Version/Version40977.php index 7eb09be..19d1e42 100644 --- a/src/Version/Version40977.php +++ b/src/Version/Version40977.php @@ -408,7 +408,9 @@ Version40977::$TREE = new Tree([ "commanderLevel" => array('type' => 6, 'tag' => -3), "hasSilencePenalty" => array('type' => 13, 'tag' => -2), "tandemId" => array('type' => 58, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 65 => new ArrayNode( new IntegerNode(5, 0), 64 diff --git a/src/Version/Version41128.php b/src/Version/Version41128.php index cb4bced..9e95dbe 100644 --- a/src/Version/Version41128.php +++ b/src/Version/Version41128.php @@ -408,7 +408,9 @@ Version41128::$TREE = new Tree([ "commanderLevel" => array('type' => 6, 'tag' => -3), "hasSilencePenalty" => array('type' => 13, 'tag' => -2), "tandemId" => array('type' => 58, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 65 => new ArrayNode( new IntegerNode(5, 0), 64 diff --git a/src/Version/Version41219.php b/src/Version/Version41219.php index 40ece56..294ca1c 100644 --- a/src/Version/Version41219.php +++ b/src/Version/Version41219.php @@ -408,7 +408,9 @@ Version41219::$TREE = new Tree([ "commanderLevel" => array('type' => 6, 'tag' => -3), "hasSilencePenalty" => array('type' => 13, 'tag' => -2), "tandemId" => array('type' => 58, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 65 => new ArrayNode( new IntegerNode(5, 0), 64 diff --git a/src/Version/Version41743.php b/src/Version/Version41743.php index 7b5b78c..e474142 100644 --- a/src/Version/Version41743.php +++ b/src/Version/Version41743.php @@ -408,7 +408,9 @@ Version41743::$TREE = new Tree([ "commanderLevel" => array('type' => 6, 'tag' => -3), "hasSilencePenalty" => array('type' => 13, 'tag' => -2), "tandemId" => array('type' => 58, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 65 => new ArrayNode( new IntegerNode(5, 0), 64 diff --git a/src/Version/Version41973.php b/src/Version/Version41973.php index 3ca4ca7..e7fd192 100644 --- a/src/Version/Version41973.php +++ b/src/Version/Version41973.php @@ -408,7 +408,9 @@ Version41973::$TREE = new Tree([ "commanderLevel" => array('type' => 6, 'tag' => -3), "hasSilencePenalty" => array('type' => 13, 'tag' => -2), "tandemId" => array('type' => 58, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 65 => new ArrayNode( new IntegerNode(5, 0), 64 diff --git a/src/Version/Version42253.php b/src/Version/Version42253.php index f848bee..e6947b3 100644 --- a/src/Version/Version42253.php +++ b/src/Version/Version42253.php @@ -408,7 +408,9 @@ Version42253::$TREE = new Tree([ "commanderLevel" => array('type' => 6, 'tag' => -3), "hasSilencePenalty" => array('type' => 13, 'tag' => -2), "tandemId" => array('type' => 58, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 65 => new ArrayNode( new IntegerNode(5, 0), 64 diff --git a/src/Version/Version42932.php b/src/Version/Version42932.php index 5138808..ea3bba9 100644 --- a/src/Version/Version42932.php +++ b/src/Version/Version42932.php @@ -415,7 +415,9 @@ Version42932::$TREE = new Tree([ "tandemId" => array('type' => 58, 'tag' => -3), "commanderMasteryLevel" => array('type' => 6, 'tag' => -2), "commanderMasteryTalents" => array('type' => 64, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 66 => new ArrayNode( new IntegerNode(5, 0), 65 diff --git a/src/Version/Version43199.php b/src/Version/Version43199.php index 2ee3272..e524e8d 100644 --- a/src/Version/Version43199.php +++ b/src/Version/Version43199.php @@ -415,7 +415,9 @@ Version43199::$TREE = new Tree([ "tandemId" => array('type' => 58, 'tag' => -3), "commanderMasteryLevel" => array('type' => 6, 'tag' => -2), "commanderMasteryTalents" => array('type' => 64, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 66 => new ArrayNode( new IntegerNode(5, 0), 65 diff --git a/src/Version/Version43478.php b/src/Version/Version43478.php index a89096e..d677d8e 100644 --- a/src/Version/Version43478.php +++ b/src/Version/Version43478.php @@ -415,7 +415,9 @@ Version43478::$TREE = new Tree([ "tandemId" => array('type' => 58, 'tag' => -3), "commanderMasteryLevel" => array('type' => 6, 'tag' => -2), "commanderMasteryTalents" => array('type' => 64, 'tag' => -1), -]), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), 66 => new ArrayNode( new IntegerNode(5, 0), 65 diff --git a/src/Version/Version44169.php b/src/Version/Version44169.php new file mode 100644 index 0000000..2c22d18 --- /dev/null +++ b/src/Version/Version44169.php @@ -0,0 +1,1351 @@ +getNode(18); + } + + public function getReplayInitDataNode() { + return self::$TREE->getNode(69); + } + + public function getGameDetailsNode() { + return self::$TREE->getNode(40); + } + + public function getGameEventHeaderNode() { + return new StructNode( + [ + 'timestamp' => ['type' => 7], + 'user' => ['type' => 8], + 'event' => ['type' => 0] + ], + 'Rogiel\StarReplay\Metadata\Event\Header', + true + ); + } + + public function getMessageEventHeaderNode() { + return new StructNode( + [ + 'timestamp' => ['type' => 7], + 'user' => ['type' => 8], + 'event' => ['type' => 1] + ], + 'Rogiel\StarReplay\Metadata\Event\Header', + true + ); + } + + public function getTrackerEventHeaderNode() { + return new StructNode( + [ + 'timestamp' => ['type' => 7], + 'event' => ['type' => 2] + ], + 'Rogiel\StarReplay\Metadata\Event\Header', + true + ); + } + +} + +Version44169::$TREE = new Tree([ +0 => new IntegerNode(7, 0), +1 => new IntegerNode(4, 0), +2 => new IntegerNode(5, 0), +3 => new IntegerNode(6, 0), +4 => new IntegerNode(14, 0), +5 => new IntegerNode(22, 0), +6 => new IntegerNode(32, 0), +7 => new ChoiceNode(new IntegerNode(2), [ + 0 => 3, + 1 => 4, + 2 => 5, + 3 => 6, +]), +8 => new StructNode([ + "userId" => array('type' => 2, 'tag' => -1), +]), +9 => new BlobNode(new IntegerNode(8, 0)), +10 => new IntegerNode(8, 0), +11 => new StructNode([ + "flags" => array('type' => 10, 'tag' => 0), + "major" => array('type' => 10, 'tag' => 1), + "minor" => array('type' => 10, 'tag' => 2), + "revision" => array('type' => 10, 'tag' => 3), + "build" => array('type' => 6, 'tag' => 4), + "baseBuild" => array('type' => 6, 'tag' => 5), +], + 'Rogiel\StarReplay\Metadata\Header\Version' +), +12 => new IntegerNode(3, 0), +13 => new BooleanNode(), +14 => new ArrayNode( + new IntegerNode(0, 16), + 10 +), +15 => new OptionalNode(14), +16 => new BlobNode(new IntegerNode(0, 16)), +17 => new StructNode([ + "dataDeprecated" => array('type' => 15, 'tag' => 0), + "data" => array('type' => 16, 'tag' => 1), +], + 'Rogiel\StarReplay\Metadata\Header\Hash' +), +18 => new StructNode([ + "signature" => array('type' => 9, 'tag' => 0), + "version" => array('type' => 11, 'tag' => 1), + "type" => array('type' => 12, 'tag' => 2), + "elapsedGameLoops" => array('type' => 6, 'tag' => 3), + "useScaledTime" => array('type' => 13, 'tag' => 4), + "ngdpRootKey" => array('type' => 17, 'tag' => 5), + "dataBuildNum" => array('type' => 6, 'tag' => 6), + "replayCompatibilityHash" => array('type' => 17, 'tag' => 7), +], + 'Rogiel\StarReplay\Metadata\Header\Header' +), +19 => new FourCCNode(), +20 => new BlobNode(new IntegerNode(7, 0)), +21 => new IntegerNode(64, 0), +22 => new StructNode([ + "region" => array('type' => 10, 'tag' => 0), + "programId" => array('type' => 19, 'tag' => 1), + "realm" => array('type' => 6, 'tag' => 2), + "name" => array('type' => 20, 'tag' => 3), + "id" => array('type' => 21, 'tag' => 4), +], + 'Rogiel\StarReplay\Entity\Toon' +), +23 => new StructNode([ + "a" => array('type' => 10, 'tag' => 0), + "r" => array('type' => 10, 'tag' => 1), + "g" => array('type' => 10, 'tag' => 2), + "b" => array('type' => 10, 'tag' => 3), +], + 'Rogiel\StarReplay\Entity\Color' +), +24 => new IntegerNode(2, 0), +25 => new OptionalNode(10), +26 => new StructNode([ + "name" => array('type' => 9, 'tag' => 0), + "toon" => array('type' => 22, 'tag' => 1), + "race" => array('type' => 9, 'tag' => 2), + "color" => array('type' => 23, 'tag' => 3), + "control" => array('type' => 10, 'tag' => 4), + "teamId" => array('type' => 1, 'tag' => 5), + "handicap" => array('type' => 0, 'tag' => 6), + "observe" => array('type' => 24, 'tag' => 7), + "result" => array('type' => 24, 'tag' => 8), + "workingSetSlotId" => array('type' => 25, 'tag' => 9), + "hero" => array('type' => 9, 'tag' => 10), +], + 'Rogiel\StarReplay\Entity\Player' +), +27 => new ArrayNode( + new IntegerNode(5, 0), + 26, + 'Rogiel\StarReplay\Metadata\Match\PlayerList' + +), +28 => new OptionalNode(27), +29 => new BlobNode(new IntegerNode(10, 0)), +30 => new BlobNode(new IntegerNode(11, 0)), +31 => new StructNode([ + "file" => array('type' => 30, 'tag' => 0), +], + 'Rogiel\StarReplay\Entity\Thumbnail' +), +32 => new OptionalNode(13), +33 => new IntegerNode(64, -9223372036854775808), +34 => new BlobNode(new IntegerNode(12, 0)), +35 => new BlobNode(new IntegerNode(0, 40)), +36 => new ArrayNode( + new IntegerNode(6, 0), + 35 +), +37 => new OptionalNode(36), +38 => new ArrayNode( + new IntegerNode(6, 0), + 30 +), +39 => new OptionalNode(38), +40 => new StructNode([ + "playerList" => array('type' => 28, 'tag' => 0), + "title" => array('type' => 29, 'tag' => 1), + "difficulty" => array('type' => 9, 'tag' => 2), + "thumbnail" => array('type' => 31, 'tag' => 3), + "isBlizzardMap" => array('type' => 13, 'tag' => 4), + "restartAsTransitionMap" => array('type' => 32, 'tag' => 16), + "timeUTC" => array('type' => 33, 'tag' => 5), + "timeLocalOffset" => array('type' => 33, 'tag' => 6), + "description" => array('type' => 34, 'tag' => 7), + "imageFilePath" => array('type' => 30, 'tag' => 8), + "campaignIndex" => array('type' => 10, 'tag' => 15), + "mapFileName" => array('type' => 30, 'tag' => 9), + "cacheHandles" => array('type' => 37, 'tag' => 10), + "miniSave" => array('type' => 13, 'tag' => 11), + "gameSpeed" => array('type' => 12, 'tag' => 12), + "defaultDifficulty" => array('type' => 3, 'tag' => 13), + "modPaths" => array('type' => 39, 'tag' => 14), +], + 'Rogiel\StarReplay\Metadata\Match\MatchInformation' +), +41 => new OptionalNode(9), +42 => new OptionalNode(35), +43 => new OptionalNode(6), +44 => new StructNode([ + "race" => array('type' => 25, 'tag' => -1), +]), +45 => new StructNode([ + "team" => array('type' => 25, 'tag' => -1), +]), +46 => new BlobNode(new IntegerNode(9, 0)), +47 => new StructNode([ + "name" => array('type' => 9, 'tag' => -18), + "clanTag" => array('type' => 41, 'tag' => -17), + "clanLogo" => array('type' => 42, 'tag' => -16), + "highestLeague" => array('type' => 25, 'tag' => -15), + "combinedRaceLevels" => array('type' => 43, 'tag' => -14), + "randomSeed" => array('type' => 6, 'tag' => -13), + "racePreference" => array('type' => 44, 'tag' => -12), + "teamPreference" => array('type' => 45, 'tag' => -11), + "testMap" => array('type' => 13, 'tag' => -10), + "testAuto" => array('type' => 13, 'tag' => -9), + "examine" => array('type' => 13, 'tag' => -8), + "customInterface" => array('type' => 13, 'tag' => -7), + "testType" => array('type' => 6, 'tag' => -6), + "observe" => array('type' => 24, 'tag' => -5), + "hero" => array('type' => 46, 'tag' => -4), + "skin" => array('type' => 46, 'tag' => -3), + "mount" => array('type' => 46, 'tag' => -2), + "toonHandle" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\UserInitialData' +), +48 => new ArrayNode( + new IntegerNode(5, 0), + 47, + 'Rogiel\StarReplay\Metadata\Init\UserInitialDataCollection' + +), +49 => new StructNode([ + "lockTeams" => array('type' => 13, 'tag' => -15), + "teamsTogether" => array('type' => 13, 'tag' => -14), + "advancedSharedControl" => array('type' => 13, 'tag' => -13), + "randomRaces" => array('type' => 13, 'tag' => -12), + "battleNet" => array('type' => 13, 'tag' => -11), + "amm" => array('type' => 13, 'tag' => -10), + "competitive" => array('type' => 13, 'tag' => -9), + "practice" => array('type' => 13, 'tag' => -8), + "cooperative" => array('type' => 13, 'tag' => -7), + "noVictoryOrDefeat" => array('type' => 13, 'tag' => -6), + "heroDuplicatesAllowed" => array('type' => 13, 'tag' => -5), + "fog" => array('type' => 24, 'tag' => -4), + "observers" => array('type' => 24, 'tag' => -3), + "userDifficulty" => array('type' => 24, 'tag' => -2), + "clientDebugFlags" => array('type' => 21, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\GameOptions' +), +50 => new IntegerNode(4, 1), +51 => new IntegerNode(8, 1), +52 => new BitArrayNode( + new IntegerNode(6, 0) +), +53 => new BitArrayNode( + new IntegerNode(8, 0) +), +54 => new BitArrayNode( + new IntegerNode(2, 0) +), +55 => new StructNode([ + "allowedColors" => array('type' => 52, 'tag' => -6), + "allowedRaces" => array('type' => 53, 'tag' => -5), + "allowedDifficulty" => array('type' => 52, 'tag' => -4), + "allowedControls" => array('type' => 53, 'tag' => -3), + "allowedObserveTypes" => array('type' => 54, 'tag' => -2), + "allowedAIBuilds" => array('type' => 53, 'tag' => -1), +]), +56 => new ArrayNode( + new IntegerNode(5, 0), + 55 +), +57 => new StructNode([ + "randomValue" => array('type' => 6, 'tag' => -27), + "gameCacheName" => array('type' => 29, 'tag' => -26), + "gameOptions" => array('type' => 49, 'tag' => -25), + "gameSpeed" => array('type' => 12, 'tag' => -24), + "gameType" => array('type' => 12, 'tag' => -23), + "maxUsers" => array('type' => 2, 'tag' => -22), + "maxObservers" => array('type' => 2, 'tag' => -21), + "maxPlayers" => array('type' => 2, 'tag' => -20), + "maxTeams" => array('type' => 50, 'tag' => -19), + "maxColors" => array('type' => 3, 'tag' => -18), + "maxRaces" => array('type' => 51, 'tag' => -17), + "maxControls" => array('type' => 10, 'tag' => -16), + "mapSizeX" => array('type' => 10, 'tag' => -15), + "mapSizeY" => array('type' => 10, 'tag' => -14), + "mapFileSyncChecksum" => array('type' => 6, 'tag' => -13), + "mapFileName" => array('type' => 30, 'tag' => -12), + "mapAuthorName" => array('type' => 9, 'tag' => -11), + "modFileSyncChecksum" => array('type' => 6, 'tag' => -10), + "slotDescriptions" => array('type' => 56, 'tag' => -9), + "defaultDifficulty" => array('type' => 3, 'tag' => -8), + "defaultAIBuild" => array('type' => 10, 'tag' => -7), + "cacheHandles" => array('type' => 36, 'tag' => -6), + "hasExtensionMod" => array('type' => 13, 'tag' => -5), + "hasNonBlizzardExtensionMod" => array('type' => 13, 'tag' => -4), + "isBlizzardMap" => array('type' => 13, 'tag' => -3), + "isPremadeFFA" => array('type' => 13, 'tag' => -2), + "isCoopMode" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\GameDescription' +), +58 => new OptionalNode(1), +59 => new OptionalNode(2), +60 => new StructNode([ + "color" => array('type' => 59, 'tag' => -1), +]), +61 => new ArrayNode( + new IntegerNode(4, 0), + 46 +), +62 => new ArrayNode( + new IntegerNode(17, 0), + 6 +), +63 => new ArrayNode( + new IntegerNode(9, 0), + 6 +), +64 => new ArrayNode( + new IntegerNode(3, 0), + 6 +), +65 => new StructNode([ + "control" => array('type' => 10, 'tag' => -25), + "userId" => array('type' => 58, 'tag' => -24), + "teamId" => array('type' => 1, 'tag' => -23), + "colorPref" => array('type' => 60, 'tag' => -22), + "racePref" => array('type' => 44, 'tag' => -21), + "difficulty" => array('type' => 3, 'tag' => -20), + "aiBuild" => array('type' => 10, 'tag' => -19), + "handicap" => array('type' => 0, 'tag' => -18), + "observe" => array('type' => 24, 'tag' => -17), + "logoIndex" => array('type' => 6, 'tag' => -16), + "hero" => array('type' => 46, 'tag' => -15), + "skin" => array('type' => 46, 'tag' => -14), + "mount" => array('type' => 46, 'tag' => -13), + "artifacts" => array('type' => 61, 'tag' => -12), + "workingSetSlotId" => array('type' => 25, 'tag' => -11), + "rewards" => array('type' => 62, 'tag' => -10), + "toonHandle" => array('type' => 20, 'tag' => -9), + "licenses" => array('type' => 63, 'tag' => -8), + "tandemLeaderId" => array('type' => 58, 'tag' => -7), + "commander" => array('type' => 46, 'tag' => -6), + "commanderLevel" => array('type' => 6, 'tag' => -5), + "hasSilencePenalty" => array('type' => 13, 'tag' => -4), + "tandemId" => array('type' => 58, 'tag' => -3), + "commanderMasteryLevel" => array('type' => 6, 'tag' => -2), + "commanderMasteryTalents" => array('type' => 64, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), +66 => new ArrayNode( + new IntegerNode(5, 0), + 65 +), +67 => new StructNode([ + "phase" => array('type' => 12, 'tag' => -11), + "maxUsers" => array('type' => 2, 'tag' => -10), + "maxObservers" => array('type' => 2, 'tag' => -9), + "slots" => array('type' => 66, 'tag' => -8), + "randomSeed" => array('type' => 6, 'tag' => -7), + "hostUserId" => array('type' => 58, 'tag' => -6), + "isSinglePlayer" => array('type' => 13, 'tag' => -5), + "pickedMapTag" => array('type' => 10, 'tag' => -4), + "gameDuration" => array('type' => 6, 'tag' => -3), + "defaultDifficulty" => array('type' => 3, 'tag' => -2), + "defaultAIBuild" => array('type' => 10, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\LobbyState' +), +68 => new StructNode([ + "userInitialData" => array('type' => 48, 'tag' => -3), + "gameDescription" => array('type' => 57, 'tag' => -2), + "lobbyState" => array('type' => 67, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\SyncLobbyState' +), +69 => new StructNode([ + "syncLobbyState" => array('type' => 68, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\InitData' +), +70 => new StructNode([ + "name" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankFileEvent' +), +71 => new BlobNode(new IntegerNode(6, 0)), +72 => new StructNode([ + "name" => array('type' => 71, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSectionEvent' +), +73 => new StructNode([ + "name" => array('type' => 71, 'tag' => -3), + "type" => array('type' => 6, 'tag' => -2), + "data" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankKeyEvent' +), +74 => new StructNode([ + "type" => array('type' => 6, 'tag' => -3), + "name" => array('type' => 71, 'tag' => -2), + "data" => array('type' => 34, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankValueEvent' +), +75 => new ArrayNode( + new IntegerNode(5, 0), + 10, + 'Rogiel\StarReplay\Event\Game\Entity\BankSignature' + +), +76 => new StructNode([ + "signature" => array('type' => 75, 'tag' => -2), + "toonHandle" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSignatureEvent' +), +77 => new StructNode([ + "gameFullyDownloaded" => array('type' => 13, 'tag' => -14), + "developmentCheatsEnabled" => array('type' => 13, 'tag' => -13), + "testCheatsEnabled" => array('type' => 13, 'tag' => -12), + "multiplayerCheatsEnabled" => array('type' => 13, 'tag' => -11), + "syncChecksummingEnabled" => array('type' => 13, 'tag' => -10), + "isMapToMapTransition" => array('type' => 13, 'tag' => -9), + "debugPauseEnabled" => array('type' => 13, 'tag' => -8), + "useGalaxyAsserts" => array('type' => 13, 'tag' => -7), + "platformMac" => array('type' => 13, 'tag' => -6), + "cameraFollow" => array('type' => 13, 'tag' => -5), + "baseBuildNum" => array('type' => 6, 'tag' => -4), + "buildNum" => array('type' => 6, 'tag' => -3), + "versionFlags" => array('type' => 6, 'tag' => -2), + "hotkeyProfile" => array('type' => 46, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UserOptionsEvent' +), +78 => new StructNode([ +], + 'Rogiel\StarReplay\Event\Message\ServerPingMessage' +), +79 => new IntegerNode(16, 0), +80 => new StructNode([ + "x" => array('type' => 79, 'tag' => -2), + "y" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +81 => new StructNode([ + "which" => array('type' => 12, 'tag' => -2), + "target" => array('type' => 80, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraSaveEvent' +), +82 => new StructNode([ + "fileName" => array('type' => 30, 'tag' => -5), + "automatic" => array('type' => 13, 'tag' => -4), + "overwrite" => array('type' => 13, 'tag' => -3), + "name" => array('type' => 9, 'tag' => -2), + "description" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SaveGameEvent' +), +83 => new StructNode([ + "sequence" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerResetEvent' +), +84 => new IntegerNode(32, -2147483648), +85 => new StructNode([ + "x" => array('type' => 84, 'tag' => -2), + "y" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +86 => new StructNode([ + "point" => array('type' => 85, 'tag' => -4), + "time" => array('type' => 84, 'tag' => -3), + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +]), +87 => new StructNode([ + "data" => array('type' => 86, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameCheatEvent' +), +88 => new IntegerNode(25, 0), +89 => new StructNode([ + "abilLink" => array('type' => 79, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "abilCmdData" => array('type' => 25, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\Ability' +), +90 => new OptionalNode(89), +91 => new NullNode(), +92 => new IntegerNode(20, 0), +93 => new StructNode([ + "x" => array('type' => 92, 'tag' => -3), + "y" => array('type' => 92, 'tag' => -2), + "z" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +94 => new StructNode([ + "targetUnitFlags" => array('type' => 79, 'tag' => -7), + "timer" => array('type' => 10, 'tag' => -6), + "tag" => array('type' => 6, 'tag' => -5), + "snapshotUnitLink" => array('type' => 79, 'tag' => -4), + "snapshotControlPlayerId" => array('type' => 58, 'tag' => -3), + "snapshotUpkeepPlayerId" => array('type' => 58, 'tag' => -2), + "snapshotPoint" => array('type' => 93, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\TargetUnit' +), +95 => new ChoiceNode(new IntegerNode(2), [ + 0 => 91, + 1 => 93, + 2 => 94, + 3 => 6, +]), +96 => new IntegerNode(32, 1), +97 => new StructNode([ + "cmdFlags" => array('type' => 88, 'tag' => -6), + "abil" => array('type' => 90, 'tag' => -5), + "data" => array('type' => 95, 'tag' => -4), + "sequence" => array('type' => 96, 'tag' => -3), + "otherUnit" => array('type' => 43, 'tag' => -2), + "unitGroup" => array('type' => 43, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdEvent' +), +98 => new IntegerNode(9, 0), +99 => new BitArrayNode( + new IntegerNode(9, 0) +, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateMask'), +100 => new ArrayNode( + new IntegerNode(9, 0), + 98, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateZeroIndices' + +), +101 => new ChoiceNode(new IntegerNode(2), [ + 0 => 91, + 1 => 99, + 2 => 100, + 3 => 100, +]), +102 => new StructNode([ + "unitLink" => array('type' => 79, 'tag' => -4), + "subgroupPriority" => array('type' => 10, 'tag' => -3), + "intraSubgroupPriority" => array('type' => 10, 'tag' => -2), + "count" => array('type' => 98, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SubgroupUnit' +), +103 => new ArrayNode( + new IntegerNode(9, 0), + 102 +), +104 => new StructNode([ + "subgroupIndex" => array('type' => 98, 'tag' => -4), + "removeMask" => array('type' => 101, 'tag' => -3), + "addSubgroups" => array('type' => 103, 'tag' => -2), + "addUnitTags" => array('type' => 63, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SelectionDelta' +), +105 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "delta" => array('type' => 104, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionDeltaEvent' +), +106 => new StructNode([ + "controlGroupIndex" => array('type' => 1, 'tag' => -3), + "controlGroupUpdate" => array('type' => 12, 'tag' => -2), + "mask" => array('type' => 101, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ControlGroupUpdateEvent' +), +107 => new StructNode([ + "count" => array('type' => 98, 'tag' => -6), + "subgroupCount" => array('type' => 98, 'tag' => -5), + "activeSubgroupIndex" => array('type' => 98, 'tag' => -4), + "unitTagsChecksum" => array('type' => 6, 'tag' => -3), + "subgroupIndicesChecksum" => array('type' => 6, 'tag' => -2), + "subgroupsChecksum" => array('type' => 6, 'tag' => -1), +]), +108 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "selectionSyncData" => array('type' => 107, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionSyncCheckEvent' +), +109 => new ArrayNode( + new IntegerNode(3, 0), + 84, + 'Rogiel\StarReplay\Event\Game\Entity\ResourceRequest' + +), +110 => new StructNode([ + "recipientId" => array('type' => 1, 'tag' => -2), + "resources" => array('type' => 109, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceTradeEvent' +), +111 => new StructNode([ + "chatMessage" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerChatMessageEvent' +), +112 => new IntegerNode(8, -128), +113 => new StructNode([ + "x" => array('type' => 84, 'tag' => -3), + "y" => array('type' => 84, 'tag' => -2), + "z" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +114 => new StructNode([ + "beacon" => array('type' => 112, 'tag' => -9), + "ally" => array('type' => 112, 'tag' => -8), + "flags" => array('type' => 112, 'tag' => -7), + "build" => array('type' => 112, 'tag' => -6), + "targetUnitTag" => array('type' => 6, 'tag' => -5), + "targetUnitSnapshotUnitLink" => array('type' => 79, 'tag' => -4), + "targetUnitSnapshotUpkeepPlayerId" => array('type' => 112, 'tag' => -3), + "targetUnitSnapshotControlPlayerId" => array('type' => 112, 'tag' => -2), + "targetPoint" => array('type' => 113, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AICommunicateEvent' +), +115 => new StructNode([ + "speed" => array('type' => 12, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SetAbsoluteGameSpeedEvent' +), +116 => new StructNode([ + "delta" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AddAbsoluteGameSpeedEvent' +), +117 => new StructNode([ + "point" => array('type' => 85, 'tag' => -9), + "unit" => array('type' => 6, 'tag' => -8), + "unitLink" => array('type' => 79, 'tag' => -7), + "unitControlPlayerId" => array('type' => 58, 'tag' => -6), + "unitUpkeepPlayerId" => array('type' => 58, 'tag' => -5), + "unitPosition" => array('type' => 93, 'tag' => -4), + "unitIsUnderConstruction" => array('type' => 13, 'tag' => -3), + "pingedMinimap" => array('type' => 13, 'tag' => -2), + "option" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPingEvent' +), +118 => new StructNode([ + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BroadcastCheatEvent' +), +119 => new StructNode([ + "alliance" => array('type' => 6, 'tag' => -2), + "control" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AllianceEvent' +), +120 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitClickEvent' +), +121 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -2), + "flags" => array('type' => 10, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitHighlightEvent' +), +122 => new StructNode([ + "conversationId" => array('type' => 84, 'tag' => -2), + "replyId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerReplySelectedEvent' +), +123 => new OptionalNode(20), +124 => new StructNode([ + "gameUserId" => array('type' => 1, 'tag' => -6), + "observe" => array('type' => 24, 'tag' => -5), + "name" => array('type' => 9, 'tag' => -4), + "toonHandle" => array('type' => 123, 'tag' => -3), + "clanTag" => array('type' => 41, 'tag' => -2), + "clanLogo" => array('type' => 42, 'tag' => -1), +]), +125 => new ArrayNode( + new IntegerNode(5, 0), + 124 +), +126 => new IntegerNode(1, 0), +127 => new StructNode([ + "userInfos" => array('type' => 125, 'tag' => -2), + "method" => array('type' => 126, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HijackReplayGameEvent' +), +128 => new StructNode([ + "purchaseItemId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseItemChangedEvent' +), +129 => new StructNode([ + "difficultyLevel" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerVictoryPanelPlayMissionAgainEvent' +), +130 => new ChoiceNode(new IntegerNode(3), [ + 0 => 91, + 1 => 13, + 2 => 6, + 3 => 84, + 4 => 30, + 5 => 6, +]), +131 => new StructNode([ + "controlId" => array('type' => 84, 'tag' => -3), + "eventType" => array('type' => 84, 'tag' => -2), + "eventData" => array('type' => 130, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerDialogControlEvent' +), +132 => new StructNode([ + "soundHash" => array('type' => 6, 'tag' => -2), + "length" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthQueryEvent' +), +133 => new ArrayNode( + new IntegerNode(7, 0), + 6 +), +134 => new StructNode([ + "soundHash" => array('type' => 133, 'tag' => -2), + "length" => array('type' => 133, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SoundLengthSync' +), +135 => new StructNode([ + "syncInfo" => array('type' => 134, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthSyncEvent' +), +136 => new StructNode([ + "queryId" => array('type' => 79, 'tag' => -3), + "lengthMs" => array('type' => 6, 'tag' => -2), + "finishGameLoop" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByNameEvent' +), +137 => new StructNode([ + "queryId" => array('type' => 79, 'tag' => -2), + "lengthMs" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByPropsEvent' +), +138 => new StructNode([ + "animWaitQueryId" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimOffsetEvent' +), +139 => new StructNode([ + "sound" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundOffsetEvent' +), +140 => new StructNode([ + "transmissionId" => array('type' => 84, 'tag' => -2), + "thread" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionOffsetEvent' +), +141 => new StructNode([ + "transmissionId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionCompleteEvent' +), +142 => new OptionalNode(80), +143 => new OptionalNode(79), +144 => new OptionalNode(112), +145 => new StructNode([ + "target" => array('type' => 142, 'tag' => -6), + "distance" => array('type' => 143, 'tag' => -5), + "pitch" => array('type' => 143, 'tag' => -4), + "yaw" => array('type' => 143, 'tag' => -3), + "reason" => array('type' => 144, 'tag' => -2), + "follow" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraUpdateEvent' +), +146 => new StructNode([ + "skipType" => array('type' => 126, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerConversationSkippedEvent' +), +147 => new IntegerNode(11, 0), +148 => new StructNode([ + "x" => array('type' => 147, 'tag' => -2), + "y" => array('type' => 147, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +149 => new StructNode([ + "button" => array('type' => 6, 'tag' => -5), + "down" => array('type' => 13, 'tag' => -4), + "posUI" => array('type' => 148, 'tag' => -3), + "posWorld" => array('type' => 93, 'tag' => -2), + "flags" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseClickedEvent' +), +150 => new StructNode([ + "posUI" => array('type' => 148, 'tag' => -3), + "posWorld" => array('type' => 93, 'tag' => -2), + "flags" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseMovedEvent' +), +151 => new StructNode([ + "achievementLink" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AchievementAwardedEvent' +), +152 => new StructNode([ + "hotkey" => array('type' => 6, 'tag' => -2), + "down" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerHotkeyPressedEvent' +), +153 => new StructNode([ + "abilLink" => array('type' => 79, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "state" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTargetModeUpdateEvent' +), +154 => new StructNode([ + "soundtrack" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundtrackDoneEvent' +), +155 => new StructNode([ + "planetId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPlanetMissionSelectedEvent' +), +156 => new StructNode([ + "key" => array('type' => 112, 'tag' => -2), + "flags" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerKeyPressedEvent' +), +157 => new StructNode([ + "resources" => array('type' => 109, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestEvent' +), +158 => new StructNode([ + "fulfillRequestId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestFulfillEvent' +), +159 => new StructNode([ + "cancelRequestId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestCancelEvent' +), +160 => new StructNode([ + "error" => array('type' => 84, 'tag' => -2), + "abil" => array('type' => 90, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCommandErrorEvent' +), +161 => new StructNode([ + "researchItemId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerResearchPanelSelectionChangedEvent' +), +162 => new StructNode([ + "mercenaryId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMercenaryPanelSelectionChangedEvent' +), +163 => new StructNode([ + "battleReportId" => array('type' => 84, 'tag' => -2), + "difficultyLevel" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelPlayMissionEvent' +), +164 => new StructNode([ + "battleReportId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelSelectionChangedEvent' +), +165 => new StructNode([ + "decrementSeconds" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\DecrementGameTimeRemainingEvent' +), +166 => new StructNode([ + "portraitId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPortraitLoadedEvent' +), +167 => new StructNode([ + "functionName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMovieFunctionEvent' +), +168 => new StructNode([ + "result" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCustomDialogDismissedEvent' +), +169 => new StructNode([ + "gameMenuItemIndex" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerGameMenuItemSelectedEvent' +), +170 => new IntegerNode(16, -32768), +171 => new StructNode([ + "wheelSpin" => array('type' => 170, 'tag' => -2), + "flags" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseWheelEvent' +), +172 => new StructNode([ + "purchaseCategoryId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseCategoryChangedEvent' +), +173 => new StructNode([ + "button" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerButtonPressedEvent' +), +174 => new StructNode([ + "cutsceneId" => array('type' => 84, 'tag' => -2), + "bookmarkName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneBookmarkFiredEvent' +), +175 => new StructNode([ + "cutsceneId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneEndSceneFiredEvent' +), +176 => new StructNode([ + "cutsceneId" => array('type' => 84, 'tag' => -3), + "conversationLine" => array('type' => 20, 'tag' => -2), + "altConversationLine" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneConversationLineEvent' +), +177 => new StructNode([ + "cutsceneId" => array('type' => 84, 'tag' => -2), + "conversationLine" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneConversationLineMissingEvent' +), +178 => new StructNode([ + "leaveReason" => array('type' => 1, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameUserLeaveEvent' +), +179 => new StructNode([ + "observe" => array('type' => 24, 'tag' => -7), + "name" => array('type' => 9, 'tag' => -6), + "toonHandle" => array('type' => 123, 'tag' => -5), + "clanTag" => array('type' => 41, 'tag' => -4), + "clanLogo" => array('type' => 42, 'tag' => -3), + "hijack" => array('type' => 13, 'tag' => -2), + "hijackCloneGameUserId" => array('type' => 58, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameUserJoinEvent' +), +180 => new OptionalNode(96), +181 => new StructNode([ + "state" => array('type' => 24, 'tag' => -2), + "sequence" => array('type' => 180, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerStateEvent' +), +182 => new StructNode([ + "target" => array('type' => 93, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetPointEvent' +), +183 => new StructNode([ + "target" => array('type' => 94, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetUnitEvent' +), +184 => new StructNode([ + "catalog" => array('type' => 10, 'tag' => -4), + "entry" => array('type' => 79, 'tag' => -3), + "field" => array('type' => 9, 'tag' => -2), + "value" => array('type' => 9, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CatalogModifyEvent' +), +185 => new StructNode([ + "index" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HeroTalentTreeSelectedEvent' +), +186 => new StructNode([ + "shown" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HeroTalentTreeSelectionPanelToggledEvent' +), +187 => new StructNode([ + "recipient" => array('type' => 12, 'tag' => -2), + "string" => array('type' => 30, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\ChatMessage' +), +188 => new StructNode([ + "recipient" => array('type' => 12, 'tag' => -2), + "point" => array('type' => 85, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\PingMessage' +), +189 => new StructNode([ + "progress" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\LoadingProgressMessage' +), +190 => new StructNode([ + "status" => array('type' => 24, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\ReconnectNotifyMessage' +), +191 => new StructNode([ + "scoreValueMineralsCurrent" => array('type' => 84, 'tag' => 0), + "scoreValueVespeneCurrent" => array('type' => 84, 'tag' => 1), + "scoreValueMineralsCollectionRate" => array('type' => 84, 'tag' => 2), + "scoreValueVespeneCollectionRate" => array('type' => 84, 'tag' => 3), + "scoreValueWorkersActiveCount" => array('type' => 84, 'tag' => 4), + "scoreValueMineralsUsedInProgressArmy" => array('type' => 84, 'tag' => 5), + "scoreValueMineralsUsedInProgressEconomy" => array('type' => 84, 'tag' => 6), + "scoreValueMineralsUsedInProgressTechnology" => array('type' => 84, 'tag' => 7), + "scoreValueVespeneUsedInProgressArmy" => array('type' => 84, 'tag' => 8), + "scoreValueVespeneUsedInProgressEconomy" => array('type' => 84, 'tag' => 9), + "scoreValueVespeneUsedInProgressTechnology" => array('type' => 84, 'tag' => 10), + "scoreValueMineralsUsedCurrentArmy" => array('type' => 84, 'tag' => 11), + "scoreValueMineralsUsedCurrentEconomy" => array('type' => 84, 'tag' => 12), + "scoreValueMineralsUsedCurrentTechnology" => array('type' => 84, 'tag' => 13), + "scoreValueVespeneUsedCurrentArmy" => array('type' => 84, 'tag' => 14), + "scoreValueVespeneUsedCurrentEconomy" => array('type' => 84, 'tag' => 15), + "scoreValueVespeneUsedCurrentTechnology" => array('type' => 84, 'tag' => 16), + "scoreValueMineralsLostArmy" => array('type' => 84, 'tag' => 17), + "scoreValueMineralsLostEconomy" => array('type' => 84, 'tag' => 18), + "scoreValueMineralsLostTechnology" => array('type' => 84, 'tag' => 19), + "scoreValueVespeneLostArmy" => array('type' => 84, 'tag' => 20), + "scoreValueVespeneLostEconomy" => array('type' => 84, 'tag' => 21), + "scoreValueVespeneLostTechnology" => array('type' => 84, 'tag' => 22), + "scoreValueMineralsKilledArmy" => array('type' => 84, 'tag' => 23), + "scoreValueMineralsKilledEconomy" => array('type' => 84, 'tag' => 24), + "scoreValueMineralsKilledTechnology" => array('type' => 84, 'tag' => 25), + "scoreValueVespeneKilledArmy" => array('type' => 84, 'tag' => 26), + "scoreValueVespeneKilledEconomy" => array('type' => 84, 'tag' => 27), + "scoreValueVespeneKilledTechnology" => array('type' => 84, 'tag' => 28), + "scoreValueFoodUsed" => array('type' => 84, 'tag' => 29), + "scoreValueFoodMade" => array('type' => 84, 'tag' => 30), + "scoreValueMineralsUsedActiveForces" => array('type' => 84, 'tag' => 31), + "scoreValueVespeneUsedActiveForces" => array('type' => 84, 'tag' => 32), + "scoreValueMineralsFriendlyFireArmy" => array('type' => 84, 'tag' => 33), + "scoreValueMineralsFriendlyFireEconomy" => array('type' => 84, 'tag' => 34), + "scoreValueMineralsFriendlyFireTechnology" => array('type' => 84, 'tag' => 35), + "scoreValueVespeneFriendlyFireArmy" => array('type' => 84, 'tag' => 36), + "scoreValueVespeneFriendlyFireEconomy" => array('type' => 84, 'tag' => 37), + "scoreValueVespeneFriendlyFireTechnology" => array('type' => 84, 'tag' => 38), +], + 'Rogiel\StarReplay\Event\Tracker\PlayerStats' +), +192 => new StructNode([ + "playerId" => array('type' => 1, 'tag' => 0), + "stats" => array('type' => 191, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\PlayerStatsEvent' +), +193 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), + "unitTypeName" => array('type' => 29, 'tag' => 2), + "controlPlayerId" => array('type' => 1, 'tag' => 3), + "upkeepPlayerId" => array('type' => 1, 'tag' => 4), + "x" => array('type' => 10, 'tag' => 5), + "y" => array('type' => 10, 'tag' => 6), +], + 'Rogiel\StarReplay\Event\Tracker\UnitInitEvent' +), +194 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), + "killerPlayerId" => array('type' => 58, 'tag' => 2), + "x" => array('type' => 10, 'tag' => 3), + "y" => array('type' => 10, 'tag' => 4), + "killerUnitTagIndex" => array('type' => 43, 'tag' => 5), + "killerUnitTagRecycle" => array('type' => 43, 'tag' => 6), +], + 'Rogiel\StarReplay\Event\Tracker\UnitDiedEvent' +), +195 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), + "controlPlayerId" => array('type' => 1, 'tag' => 2), + "upkeepPlayerId" => array('type' => 1, 'tag' => 3), +], + 'Rogiel\StarReplay\Event\Tracker\UnitOwnerChangeEvent' +), +196 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), + "unitTypeName" => array('type' => 29, 'tag' => 2), +], + 'Rogiel\StarReplay\Event\Tracker\UnitTypeChangeEvent' +), +197 => new StructNode([ + "playerId" => array('type' => 1, 'tag' => 0), + "upgradeTypeName" => array('type' => 29, 'tag' => 1), + "count" => array('type' => 84, 'tag' => 2), +], + 'Rogiel\StarReplay\Event\Tracker\UpgradeEvent' +), +198 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\UnitDoneEvent' +), +199 => new ArrayNode( + new IntegerNode(10, 0), + 84, + 'Rogiel\StarReplay\Event\Tracker\UnitPositions' + +), +200 => new StructNode([ + "firstUnitIndex" => array('type' => 6, 'tag' => 0), + "items" => array('type' => 199, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\UnitPositionsEvent' +), +201 => new StructNode([ + "playerId" => array('type' => 1, 'tag' => 0), + "type" => array('type' => 6, 'tag' => 1), + "userId" => array('type' => 43, 'tag' => 2), + "slotId" => array('type' => 43, 'tag' => 3), +], + 'Rogiel\StarReplay\Event\Tracker\PlayerSetupEvent' +), +] +); +Version44169::$GAME_EVENT_MAPPING = [ + 5 => 78, + 7 => 77, + 9 => 70, + 10 => 72, + 11 => 73, + 12 => 74, + 13 => 76, + 14 => 81, + 21 => 82, + 22 => 78, + 23 => 78, + 25 => 83, + 26 => 87, + 27 => 97, + 28 => 105, + 29 => 106, + 30 => 108, + 31 => 110, + 32 => 111, + 33 => 114, + 34 => 115, + 35 => 116, + 36 => 117, + 37 => 118, + 38 => 119, + 39 => 120, + 40 => 121, + 41 => 122, + 43 => 127, + 44 => 78, + 45 => 132, + 46 => 139, + 47 => 140, + 48 => 141, + 49 => 145, + 50 => 78, + 51 => 128, + 52 => 78, + 53 => 129, + 54 => 78, + 55 => 131, + 56 => 135, + 57 => 146, + 58 => 149, + 59 => 150, + 60 => 151, + 61 => 152, + 62 => 153, + 63 => 78, + 64 => 154, + 65 => 155, + 66 => 156, + 67 => 167, + 68 => 78, + 69 => 78, + 70 => 157, + 71 => 158, + 72 => 159, + 73 => 78, + 74 => 78, + 75 => 161, + 76 => 160, + 77 => 78, + 78 => 78, + 79 => 162, + 80 => 78, + 81 => 78, + 82 => 163, + 83 => 164, + 84 => 164, + 85 => 129, + 86 => 78, + 87 => 78, + 88 => 165, + 89 => 166, + 90 => 168, + 91 => 169, + 92 => 171, + 93 => 128, + 94 => 172, + 95 => 173, + 96 => 78, + 97 => 174, + 98 => 175, + 99 => 176, + 100 => 177, + 101 => 178, + 102 => 179, + 103 => 181, + 104 => 182, + 105 => 183, + 106 => 136, + 107 => 137, + 108 => 138, + 109 => 184, + 110 => 185, + 111 => 78, + 112 => 186, +]; +Version44169::$MESSAGE_EVENT_MAPPING = [ + 0 => 187, + 1 => 188, + 2 => 189, + 3 => 78, + 4 => 190, +]; +Version44169::$TRACKER_EVENT_MAPPING = [ + 0 => 192, + 1 => 193, + 2 => 194, + 3 => 195, + 4 => 196, + 5 => 197, + 6 => 193, + 7 => 198, + 8 => 200, + 9 => 201, +]; diff --git a/src/Version/Version44293.php b/src/Version/Version44293.php new file mode 100644 index 0000000..7b4202b --- /dev/null +++ b/src/Version/Version44293.php @@ -0,0 +1,1351 @@ +getNode(18); + } + + public function getReplayInitDataNode() { + return self::$TREE->getNode(69); + } + + public function getGameDetailsNode() { + return self::$TREE->getNode(40); + } + + public function getGameEventHeaderNode() { + return new StructNode( + [ + 'timestamp' => ['type' => 7], + 'user' => ['type' => 8], + 'event' => ['type' => 0] + ], + 'Rogiel\StarReplay\Metadata\Event\Header', + true + ); + } + + public function getMessageEventHeaderNode() { + return new StructNode( + [ + 'timestamp' => ['type' => 7], + 'user' => ['type' => 8], + 'event' => ['type' => 1] + ], + 'Rogiel\StarReplay\Metadata\Event\Header', + true + ); + } + + public function getTrackerEventHeaderNode() { + return new StructNode( + [ + 'timestamp' => ['type' => 7], + 'event' => ['type' => 2] + ], + 'Rogiel\StarReplay\Metadata\Event\Header', + true + ); + } + +} + +Version44293::$TREE = new Tree([ +0 => new IntegerNode(7, 0), +1 => new IntegerNode(4, 0), +2 => new IntegerNode(5, 0), +3 => new IntegerNode(6, 0), +4 => new IntegerNode(14, 0), +5 => new IntegerNode(22, 0), +6 => new IntegerNode(32, 0), +7 => new ChoiceNode(new IntegerNode(2), [ + 0 => 3, + 1 => 4, + 2 => 5, + 3 => 6, +]), +8 => new StructNode([ + "userId" => array('type' => 2, 'tag' => -1), +]), +9 => new BlobNode(new IntegerNode(8, 0)), +10 => new IntegerNode(8, 0), +11 => new StructNode([ + "flags" => array('type' => 10, 'tag' => 0), + "major" => array('type' => 10, 'tag' => 1), + "minor" => array('type' => 10, 'tag' => 2), + "revision" => array('type' => 10, 'tag' => 3), + "build" => array('type' => 6, 'tag' => 4), + "baseBuild" => array('type' => 6, 'tag' => 5), +], + 'Rogiel\StarReplay\Metadata\Header\Version' +), +12 => new IntegerNode(3, 0), +13 => new BooleanNode(), +14 => new ArrayNode( + new IntegerNode(0, 16), + 10 +), +15 => new OptionalNode(14), +16 => new BlobNode(new IntegerNode(0, 16)), +17 => new StructNode([ + "dataDeprecated" => array('type' => 15, 'tag' => 0), + "data" => array('type' => 16, 'tag' => 1), +], + 'Rogiel\StarReplay\Metadata\Header\Hash' +), +18 => new StructNode([ + "signature" => array('type' => 9, 'tag' => 0), + "version" => array('type' => 11, 'tag' => 1), + "type" => array('type' => 12, 'tag' => 2), + "elapsedGameLoops" => array('type' => 6, 'tag' => 3), + "useScaledTime" => array('type' => 13, 'tag' => 4), + "ngdpRootKey" => array('type' => 17, 'tag' => 5), + "dataBuildNum" => array('type' => 6, 'tag' => 6), + "replayCompatibilityHash" => array('type' => 17, 'tag' => 7), +], + 'Rogiel\StarReplay\Metadata\Header\Header' +), +19 => new FourCCNode(), +20 => new BlobNode(new IntegerNode(7, 0)), +21 => new IntegerNode(64, 0), +22 => new StructNode([ + "region" => array('type' => 10, 'tag' => 0), + "programId" => array('type' => 19, 'tag' => 1), + "realm" => array('type' => 6, 'tag' => 2), + "name" => array('type' => 20, 'tag' => 3), + "id" => array('type' => 21, 'tag' => 4), +], + 'Rogiel\StarReplay\Entity\Toon' +), +23 => new StructNode([ + "a" => array('type' => 10, 'tag' => 0), + "r" => array('type' => 10, 'tag' => 1), + "g" => array('type' => 10, 'tag' => 2), + "b" => array('type' => 10, 'tag' => 3), +], + 'Rogiel\StarReplay\Entity\Color' +), +24 => new IntegerNode(2, 0), +25 => new OptionalNode(10), +26 => new StructNode([ + "name" => array('type' => 9, 'tag' => 0), + "toon" => array('type' => 22, 'tag' => 1), + "race" => array('type' => 9, 'tag' => 2), + "color" => array('type' => 23, 'tag' => 3), + "control" => array('type' => 10, 'tag' => 4), + "teamId" => array('type' => 1, 'tag' => 5), + "handicap" => array('type' => 0, 'tag' => 6), + "observe" => array('type' => 24, 'tag' => 7), + "result" => array('type' => 24, 'tag' => 8), + "workingSetSlotId" => array('type' => 25, 'tag' => 9), + "hero" => array('type' => 9, 'tag' => 10), +], + 'Rogiel\StarReplay\Entity\Player' +), +27 => new ArrayNode( + new IntegerNode(5, 0), + 26, + 'Rogiel\StarReplay\Metadata\Match\PlayerList' + +), +28 => new OptionalNode(27), +29 => new BlobNode(new IntegerNode(10, 0)), +30 => new BlobNode(new IntegerNode(11, 0)), +31 => new StructNode([ + "file" => array('type' => 30, 'tag' => 0), +], + 'Rogiel\StarReplay\Entity\Thumbnail' +), +32 => new OptionalNode(13), +33 => new IntegerNode(64, -9223372036854775808), +34 => new BlobNode(new IntegerNode(12, 0)), +35 => new BlobNode(new IntegerNode(0, 40)), +36 => new ArrayNode( + new IntegerNode(6, 0), + 35 +), +37 => new OptionalNode(36), +38 => new ArrayNode( + new IntegerNode(6, 0), + 30 +), +39 => new OptionalNode(38), +40 => new StructNode([ + "playerList" => array('type' => 28, 'tag' => 0), + "title" => array('type' => 29, 'tag' => 1), + "difficulty" => array('type' => 9, 'tag' => 2), + "thumbnail" => array('type' => 31, 'tag' => 3), + "isBlizzardMap" => array('type' => 13, 'tag' => 4), + "restartAsTransitionMap" => array('type' => 32, 'tag' => 16), + "timeUTC" => array('type' => 33, 'tag' => 5), + "timeLocalOffset" => array('type' => 33, 'tag' => 6), + "description" => array('type' => 34, 'tag' => 7), + "imageFilePath" => array('type' => 30, 'tag' => 8), + "campaignIndex" => array('type' => 10, 'tag' => 15), + "mapFileName" => array('type' => 30, 'tag' => 9), + "cacheHandles" => array('type' => 37, 'tag' => 10), + "miniSave" => array('type' => 13, 'tag' => 11), + "gameSpeed" => array('type' => 12, 'tag' => 12), + "defaultDifficulty" => array('type' => 3, 'tag' => 13), + "modPaths" => array('type' => 39, 'tag' => 14), +], + 'Rogiel\StarReplay\Metadata\Match\MatchInformation' +), +41 => new OptionalNode(9), +42 => new OptionalNode(35), +43 => new OptionalNode(6), +44 => new StructNode([ + "race" => array('type' => 25, 'tag' => -1), +]), +45 => new StructNode([ + "team" => array('type' => 25, 'tag' => -1), +]), +46 => new BlobNode(new IntegerNode(9, 0)), +47 => new StructNode([ + "name" => array('type' => 9, 'tag' => -18), + "clanTag" => array('type' => 41, 'tag' => -17), + "clanLogo" => array('type' => 42, 'tag' => -16), + "highestLeague" => array('type' => 25, 'tag' => -15), + "combinedRaceLevels" => array('type' => 43, 'tag' => -14), + "randomSeed" => array('type' => 6, 'tag' => -13), + "racePreference" => array('type' => 44, 'tag' => -12), + "teamPreference" => array('type' => 45, 'tag' => -11), + "testMap" => array('type' => 13, 'tag' => -10), + "testAuto" => array('type' => 13, 'tag' => -9), + "examine" => array('type' => 13, 'tag' => -8), + "customInterface" => array('type' => 13, 'tag' => -7), + "testType" => array('type' => 6, 'tag' => -6), + "observe" => array('type' => 24, 'tag' => -5), + "hero" => array('type' => 46, 'tag' => -4), + "skin" => array('type' => 46, 'tag' => -3), + "mount" => array('type' => 46, 'tag' => -2), + "toonHandle" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\UserInitialData' +), +48 => new ArrayNode( + new IntegerNode(5, 0), + 47, + 'Rogiel\StarReplay\Metadata\Init\UserInitialDataCollection' + +), +49 => new StructNode([ + "lockTeams" => array('type' => 13, 'tag' => -15), + "teamsTogether" => array('type' => 13, 'tag' => -14), + "advancedSharedControl" => array('type' => 13, 'tag' => -13), + "randomRaces" => array('type' => 13, 'tag' => -12), + "battleNet" => array('type' => 13, 'tag' => -11), + "amm" => array('type' => 13, 'tag' => -10), + "competitive" => array('type' => 13, 'tag' => -9), + "practice" => array('type' => 13, 'tag' => -8), + "cooperative" => array('type' => 13, 'tag' => -7), + "noVictoryOrDefeat" => array('type' => 13, 'tag' => -6), + "heroDuplicatesAllowed" => array('type' => 13, 'tag' => -5), + "fog" => array('type' => 24, 'tag' => -4), + "observers" => array('type' => 24, 'tag' => -3), + "userDifficulty" => array('type' => 24, 'tag' => -2), + "clientDebugFlags" => array('type' => 21, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\GameOptions' +), +50 => new IntegerNode(4, 1), +51 => new IntegerNode(8, 1), +52 => new BitArrayNode( + new IntegerNode(6, 0) +), +53 => new BitArrayNode( + new IntegerNode(8, 0) +), +54 => new BitArrayNode( + new IntegerNode(2, 0) +), +55 => new StructNode([ + "allowedColors" => array('type' => 52, 'tag' => -6), + "allowedRaces" => array('type' => 53, 'tag' => -5), + "allowedDifficulty" => array('type' => 52, 'tag' => -4), + "allowedControls" => array('type' => 53, 'tag' => -3), + "allowedObserveTypes" => array('type' => 54, 'tag' => -2), + "allowedAIBuilds" => array('type' => 53, 'tag' => -1), +]), +56 => new ArrayNode( + new IntegerNode(5, 0), + 55 +), +57 => new StructNode([ + "randomValue" => array('type' => 6, 'tag' => -27), + "gameCacheName" => array('type' => 29, 'tag' => -26), + "gameOptions" => array('type' => 49, 'tag' => -25), + "gameSpeed" => array('type' => 12, 'tag' => -24), + "gameType" => array('type' => 12, 'tag' => -23), + "maxUsers" => array('type' => 2, 'tag' => -22), + "maxObservers" => array('type' => 2, 'tag' => -21), + "maxPlayers" => array('type' => 2, 'tag' => -20), + "maxTeams" => array('type' => 50, 'tag' => -19), + "maxColors" => array('type' => 3, 'tag' => -18), + "maxRaces" => array('type' => 51, 'tag' => -17), + "maxControls" => array('type' => 10, 'tag' => -16), + "mapSizeX" => array('type' => 10, 'tag' => -15), + "mapSizeY" => array('type' => 10, 'tag' => -14), + "mapFileSyncChecksum" => array('type' => 6, 'tag' => -13), + "mapFileName" => array('type' => 30, 'tag' => -12), + "mapAuthorName" => array('type' => 9, 'tag' => -11), + "modFileSyncChecksum" => array('type' => 6, 'tag' => -10), + "slotDescriptions" => array('type' => 56, 'tag' => -9), + "defaultDifficulty" => array('type' => 3, 'tag' => -8), + "defaultAIBuild" => array('type' => 10, 'tag' => -7), + "cacheHandles" => array('type' => 36, 'tag' => -6), + "hasExtensionMod" => array('type' => 13, 'tag' => -5), + "hasNonBlizzardExtensionMod" => array('type' => 13, 'tag' => -4), + "isBlizzardMap" => array('type' => 13, 'tag' => -3), + "isPremadeFFA" => array('type' => 13, 'tag' => -2), + "isCoopMode" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\GameDescription' +), +58 => new OptionalNode(1), +59 => new OptionalNode(2), +60 => new StructNode([ + "color" => array('type' => 59, 'tag' => -1), +]), +61 => new ArrayNode( + new IntegerNode(4, 0), + 46 +), +62 => new ArrayNode( + new IntegerNode(17, 0), + 6 +), +63 => new ArrayNode( + new IntegerNode(9, 0), + 6 +), +64 => new ArrayNode( + new IntegerNode(3, 0), + 6 +), +65 => new StructNode([ + "control" => array('type' => 10, 'tag' => -25), + "userId" => array('type' => 58, 'tag' => -24), + "teamId" => array('type' => 1, 'tag' => -23), + "colorPref" => array('type' => 60, 'tag' => -22), + "racePref" => array('type' => 44, 'tag' => -21), + "difficulty" => array('type' => 3, 'tag' => -20), + "aiBuild" => array('type' => 10, 'tag' => -19), + "handicap" => array('type' => 0, 'tag' => -18), + "observe" => array('type' => 24, 'tag' => -17), + "logoIndex" => array('type' => 6, 'tag' => -16), + "hero" => array('type' => 46, 'tag' => -15), + "skin" => array('type' => 46, 'tag' => -14), + "mount" => array('type' => 46, 'tag' => -13), + "artifacts" => array('type' => 61, 'tag' => -12), + "workingSetSlotId" => array('type' => 25, 'tag' => -11), + "rewards" => array('type' => 62, 'tag' => -10), + "toonHandle" => array('type' => 20, 'tag' => -9), + "licenses" => array('type' => 63, 'tag' => -8), + "tandemLeaderId" => array('type' => 58, 'tag' => -7), + "commander" => array('type' => 46, 'tag' => -6), + "commanderLevel" => array('type' => 6, 'tag' => -5), + "hasSilencePenalty" => array('type' => 13, 'tag' => -4), + "tandemId" => array('type' => 58, 'tag' => -3), + "commanderMasteryLevel" => array('type' => 6, 'tag' => -2), + "commanderMasteryTalents" => array('type' => 64, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), +66 => new ArrayNode( + new IntegerNode(5, 0), + 65 +), +67 => new StructNode([ + "phase" => array('type' => 12, 'tag' => -11), + "maxUsers" => array('type' => 2, 'tag' => -10), + "maxObservers" => array('type' => 2, 'tag' => -9), + "slots" => array('type' => 66, 'tag' => -8), + "randomSeed" => array('type' => 6, 'tag' => -7), + "hostUserId" => array('type' => 58, 'tag' => -6), + "isSinglePlayer" => array('type' => 13, 'tag' => -5), + "pickedMapTag" => array('type' => 10, 'tag' => -4), + "gameDuration" => array('type' => 6, 'tag' => -3), + "defaultDifficulty" => array('type' => 3, 'tag' => -2), + "defaultAIBuild" => array('type' => 10, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\LobbyState' +), +68 => new StructNode([ + "userInitialData" => array('type' => 48, 'tag' => -3), + "gameDescription" => array('type' => 57, 'tag' => -2), + "lobbyState" => array('type' => 67, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\SyncLobbyState' +), +69 => new StructNode([ + "syncLobbyState" => array('type' => 68, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\InitData' +), +70 => new StructNode([ + "name" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankFileEvent' +), +71 => new BlobNode(new IntegerNode(6, 0)), +72 => new StructNode([ + "name" => array('type' => 71, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSectionEvent' +), +73 => new StructNode([ + "name" => array('type' => 71, 'tag' => -3), + "type" => array('type' => 6, 'tag' => -2), + "data" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankKeyEvent' +), +74 => new StructNode([ + "type" => array('type' => 6, 'tag' => -3), + "name" => array('type' => 71, 'tag' => -2), + "data" => array('type' => 34, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankValueEvent' +), +75 => new ArrayNode( + new IntegerNode(5, 0), + 10, + 'Rogiel\StarReplay\Event\Game\Entity\BankSignature' + +), +76 => new StructNode([ + "signature" => array('type' => 75, 'tag' => -2), + "toonHandle" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSignatureEvent' +), +77 => new StructNode([ + "gameFullyDownloaded" => array('type' => 13, 'tag' => -14), + "developmentCheatsEnabled" => array('type' => 13, 'tag' => -13), + "testCheatsEnabled" => array('type' => 13, 'tag' => -12), + "multiplayerCheatsEnabled" => array('type' => 13, 'tag' => -11), + "syncChecksummingEnabled" => array('type' => 13, 'tag' => -10), + "isMapToMapTransition" => array('type' => 13, 'tag' => -9), + "debugPauseEnabled" => array('type' => 13, 'tag' => -8), + "useGalaxyAsserts" => array('type' => 13, 'tag' => -7), + "platformMac" => array('type' => 13, 'tag' => -6), + "cameraFollow" => array('type' => 13, 'tag' => -5), + "baseBuildNum" => array('type' => 6, 'tag' => -4), + "buildNum" => array('type' => 6, 'tag' => -3), + "versionFlags" => array('type' => 6, 'tag' => -2), + "hotkeyProfile" => array('type' => 46, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UserOptionsEvent' +), +78 => new StructNode([ +], + 'Rogiel\StarReplay\Event\Message\ServerPingMessage' +), +79 => new IntegerNode(16, 0), +80 => new StructNode([ + "x" => array('type' => 79, 'tag' => -2), + "y" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +81 => new StructNode([ + "which" => array('type' => 12, 'tag' => -2), + "target" => array('type' => 80, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraSaveEvent' +), +82 => new StructNode([ + "fileName" => array('type' => 30, 'tag' => -5), + "automatic" => array('type' => 13, 'tag' => -4), + "overwrite" => array('type' => 13, 'tag' => -3), + "name" => array('type' => 9, 'tag' => -2), + "description" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SaveGameEvent' +), +83 => new StructNode([ + "sequence" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerResetEvent' +), +84 => new IntegerNode(32, -2147483648), +85 => new StructNode([ + "x" => array('type' => 84, 'tag' => -2), + "y" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +86 => new StructNode([ + "point" => array('type' => 85, 'tag' => -4), + "time" => array('type' => 84, 'tag' => -3), + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +]), +87 => new StructNode([ + "data" => array('type' => 86, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameCheatEvent' +), +88 => new IntegerNode(25, 0), +89 => new StructNode([ + "abilLink" => array('type' => 79, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "abilCmdData" => array('type' => 25, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\Ability' +), +90 => new OptionalNode(89), +91 => new NullNode(), +92 => new IntegerNode(20, 0), +93 => new StructNode([ + "x" => array('type' => 92, 'tag' => -3), + "y" => array('type' => 92, 'tag' => -2), + "z" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +94 => new StructNode([ + "targetUnitFlags" => array('type' => 79, 'tag' => -7), + "timer" => array('type' => 10, 'tag' => -6), + "tag" => array('type' => 6, 'tag' => -5), + "snapshotUnitLink" => array('type' => 79, 'tag' => -4), + "snapshotControlPlayerId" => array('type' => 58, 'tag' => -3), + "snapshotUpkeepPlayerId" => array('type' => 58, 'tag' => -2), + "snapshotPoint" => array('type' => 93, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\TargetUnit' +), +95 => new ChoiceNode(new IntegerNode(2), [ + 0 => 91, + 1 => 93, + 2 => 94, + 3 => 6, +]), +96 => new IntegerNode(32, 1), +97 => new StructNode([ + "cmdFlags" => array('type' => 88, 'tag' => -6), + "abil" => array('type' => 90, 'tag' => -5), + "data" => array('type' => 95, 'tag' => -4), + "sequence" => array('type' => 96, 'tag' => -3), + "otherUnit" => array('type' => 43, 'tag' => -2), + "unitGroup" => array('type' => 43, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdEvent' +), +98 => new IntegerNode(9, 0), +99 => new BitArrayNode( + new IntegerNode(9, 0) +, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateMask'), +100 => new ArrayNode( + new IntegerNode(9, 0), + 98, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateZeroIndices' + +), +101 => new ChoiceNode(new IntegerNode(2), [ + 0 => 91, + 1 => 99, + 2 => 100, + 3 => 100, +]), +102 => new StructNode([ + "unitLink" => array('type' => 79, 'tag' => -4), + "subgroupPriority" => array('type' => 10, 'tag' => -3), + "intraSubgroupPriority" => array('type' => 10, 'tag' => -2), + "count" => array('type' => 98, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SubgroupUnit' +), +103 => new ArrayNode( + new IntegerNode(9, 0), + 102 +), +104 => new StructNode([ + "subgroupIndex" => array('type' => 98, 'tag' => -4), + "removeMask" => array('type' => 101, 'tag' => -3), + "addSubgroups" => array('type' => 103, 'tag' => -2), + "addUnitTags" => array('type' => 63, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SelectionDelta' +), +105 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "delta" => array('type' => 104, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionDeltaEvent' +), +106 => new StructNode([ + "controlGroupIndex" => array('type' => 1, 'tag' => -3), + "controlGroupUpdate" => array('type' => 12, 'tag' => -2), + "mask" => array('type' => 101, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ControlGroupUpdateEvent' +), +107 => new StructNode([ + "count" => array('type' => 98, 'tag' => -6), + "subgroupCount" => array('type' => 98, 'tag' => -5), + "activeSubgroupIndex" => array('type' => 98, 'tag' => -4), + "unitTagsChecksum" => array('type' => 6, 'tag' => -3), + "subgroupIndicesChecksum" => array('type' => 6, 'tag' => -2), + "subgroupsChecksum" => array('type' => 6, 'tag' => -1), +]), +108 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "selectionSyncData" => array('type' => 107, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionSyncCheckEvent' +), +109 => new ArrayNode( + new IntegerNode(3, 0), + 84, + 'Rogiel\StarReplay\Event\Game\Entity\ResourceRequest' + +), +110 => new StructNode([ + "recipientId" => array('type' => 1, 'tag' => -2), + "resources" => array('type' => 109, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceTradeEvent' +), +111 => new StructNode([ + "chatMessage" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerChatMessageEvent' +), +112 => new IntegerNode(8, -128), +113 => new StructNode([ + "x" => array('type' => 84, 'tag' => -3), + "y" => array('type' => 84, 'tag' => -2), + "z" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +114 => new StructNode([ + "beacon" => array('type' => 112, 'tag' => -9), + "ally" => array('type' => 112, 'tag' => -8), + "flags" => array('type' => 112, 'tag' => -7), + "build" => array('type' => 112, 'tag' => -6), + "targetUnitTag" => array('type' => 6, 'tag' => -5), + "targetUnitSnapshotUnitLink" => array('type' => 79, 'tag' => -4), + "targetUnitSnapshotUpkeepPlayerId" => array('type' => 112, 'tag' => -3), + "targetUnitSnapshotControlPlayerId" => array('type' => 112, 'tag' => -2), + "targetPoint" => array('type' => 113, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AICommunicateEvent' +), +115 => new StructNode([ + "speed" => array('type' => 12, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SetAbsoluteGameSpeedEvent' +), +116 => new StructNode([ + "delta" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AddAbsoluteGameSpeedEvent' +), +117 => new StructNode([ + "point" => array('type' => 85, 'tag' => -9), + "unit" => array('type' => 6, 'tag' => -8), + "unitLink" => array('type' => 79, 'tag' => -7), + "unitControlPlayerId" => array('type' => 58, 'tag' => -6), + "unitUpkeepPlayerId" => array('type' => 58, 'tag' => -5), + "unitPosition" => array('type' => 93, 'tag' => -4), + "unitIsUnderConstruction" => array('type' => 13, 'tag' => -3), + "pingedMinimap" => array('type' => 13, 'tag' => -2), + "option" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPingEvent' +), +118 => new StructNode([ + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BroadcastCheatEvent' +), +119 => new StructNode([ + "alliance" => array('type' => 6, 'tag' => -2), + "control" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AllianceEvent' +), +120 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitClickEvent' +), +121 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -2), + "flags" => array('type' => 10, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitHighlightEvent' +), +122 => new StructNode([ + "conversationId" => array('type' => 84, 'tag' => -2), + "replyId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerReplySelectedEvent' +), +123 => new OptionalNode(20), +124 => new StructNode([ + "gameUserId" => array('type' => 1, 'tag' => -6), + "observe" => array('type' => 24, 'tag' => -5), + "name" => array('type' => 9, 'tag' => -4), + "toonHandle" => array('type' => 123, 'tag' => -3), + "clanTag" => array('type' => 41, 'tag' => -2), + "clanLogo" => array('type' => 42, 'tag' => -1), +]), +125 => new ArrayNode( + new IntegerNode(5, 0), + 124 +), +126 => new IntegerNode(1, 0), +127 => new StructNode([ + "userInfos" => array('type' => 125, 'tag' => -2), + "method" => array('type' => 126, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HijackReplayGameEvent' +), +128 => new StructNode([ + "purchaseItemId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseItemChangedEvent' +), +129 => new StructNode([ + "difficultyLevel" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerVictoryPanelPlayMissionAgainEvent' +), +130 => new ChoiceNode(new IntegerNode(3), [ + 0 => 91, + 1 => 13, + 2 => 6, + 3 => 84, + 4 => 30, + 5 => 6, +]), +131 => new StructNode([ + "controlId" => array('type' => 84, 'tag' => -3), + "eventType" => array('type' => 84, 'tag' => -2), + "eventData" => array('type' => 130, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerDialogControlEvent' +), +132 => new StructNode([ + "soundHash" => array('type' => 6, 'tag' => -2), + "length" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthQueryEvent' +), +133 => new ArrayNode( + new IntegerNode(7, 0), + 6 +), +134 => new StructNode([ + "soundHash" => array('type' => 133, 'tag' => -2), + "length" => array('type' => 133, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SoundLengthSync' +), +135 => new StructNode([ + "syncInfo" => array('type' => 134, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthSyncEvent' +), +136 => new StructNode([ + "queryId" => array('type' => 79, 'tag' => -3), + "lengthMs" => array('type' => 6, 'tag' => -2), + "finishGameLoop" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByNameEvent' +), +137 => new StructNode([ + "queryId" => array('type' => 79, 'tag' => -2), + "lengthMs" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByPropsEvent' +), +138 => new StructNode([ + "animWaitQueryId" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimOffsetEvent' +), +139 => new StructNode([ + "sound" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundOffsetEvent' +), +140 => new StructNode([ + "transmissionId" => array('type' => 84, 'tag' => -2), + "thread" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionOffsetEvent' +), +141 => new StructNode([ + "transmissionId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionCompleteEvent' +), +142 => new OptionalNode(80), +143 => new OptionalNode(79), +144 => new OptionalNode(112), +145 => new StructNode([ + "target" => array('type' => 142, 'tag' => -6), + "distance" => array('type' => 143, 'tag' => -5), + "pitch" => array('type' => 143, 'tag' => -4), + "yaw" => array('type' => 143, 'tag' => -3), + "reason" => array('type' => 144, 'tag' => -2), + "follow" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraUpdateEvent' +), +146 => new StructNode([ + "skipType" => array('type' => 126, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerConversationSkippedEvent' +), +147 => new IntegerNode(11, 0), +148 => new StructNode([ + "x" => array('type' => 147, 'tag' => -2), + "y" => array('type' => 147, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +149 => new StructNode([ + "button" => array('type' => 6, 'tag' => -5), + "down" => array('type' => 13, 'tag' => -4), + "posUI" => array('type' => 148, 'tag' => -3), + "posWorld" => array('type' => 93, 'tag' => -2), + "flags" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseClickedEvent' +), +150 => new StructNode([ + "posUI" => array('type' => 148, 'tag' => -3), + "posWorld" => array('type' => 93, 'tag' => -2), + "flags" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseMovedEvent' +), +151 => new StructNode([ + "achievementLink" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AchievementAwardedEvent' +), +152 => new StructNode([ + "hotkey" => array('type' => 6, 'tag' => -2), + "down" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerHotkeyPressedEvent' +), +153 => new StructNode([ + "abilLink" => array('type' => 79, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "state" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTargetModeUpdateEvent' +), +154 => new StructNode([ + "soundtrack" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundtrackDoneEvent' +), +155 => new StructNode([ + "planetId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPlanetMissionSelectedEvent' +), +156 => new StructNode([ + "key" => array('type' => 112, 'tag' => -2), + "flags" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerKeyPressedEvent' +), +157 => new StructNode([ + "resources" => array('type' => 109, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestEvent' +), +158 => new StructNode([ + "fulfillRequestId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestFulfillEvent' +), +159 => new StructNode([ + "cancelRequestId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestCancelEvent' +), +160 => new StructNode([ + "error" => array('type' => 84, 'tag' => -2), + "abil" => array('type' => 90, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCommandErrorEvent' +), +161 => new StructNode([ + "researchItemId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerResearchPanelSelectionChangedEvent' +), +162 => new StructNode([ + "mercenaryId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMercenaryPanelSelectionChangedEvent' +), +163 => new StructNode([ + "battleReportId" => array('type' => 84, 'tag' => -2), + "difficultyLevel" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelPlayMissionEvent' +), +164 => new StructNode([ + "battleReportId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelSelectionChangedEvent' +), +165 => new StructNode([ + "decrementSeconds" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\DecrementGameTimeRemainingEvent' +), +166 => new StructNode([ + "portraitId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPortraitLoadedEvent' +), +167 => new StructNode([ + "functionName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMovieFunctionEvent' +), +168 => new StructNode([ + "result" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCustomDialogDismissedEvent' +), +169 => new StructNode([ + "gameMenuItemIndex" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerGameMenuItemSelectedEvent' +), +170 => new IntegerNode(16, -32768), +171 => new StructNode([ + "wheelSpin" => array('type' => 170, 'tag' => -2), + "flags" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseWheelEvent' +), +172 => new StructNode([ + "purchaseCategoryId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseCategoryChangedEvent' +), +173 => new StructNode([ + "button" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerButtonPressedEvent' +), +174 => new StructNode([ + "cutsceneId" => array('type' => 84, 'tag' => -2), + "bookmarkName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneBookmarkFiredEvent' +), +175 => new StructNode([ + "cutsceneId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneEndSceneFiredEvent' +), +176 => new StructNode([ + "cutsceneId" => array('type' => 84, 'tag' => -3), + "conversationLine" => array('type' => 20, 'tag' => -2), + "altConversationLine" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneConversationLineEvent' +), +177 => new StructNode([ + "cutsceneId" => array('type' => 84, 'tag' => -2), + "conversationLine" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneConversationLineMissingEvent' +), +178 => new StructNode([ + "leaveReason" => array('type' => 1, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameUserLeaveEvent' +), +179 => new StructNode([ + "observe" => array('type' => 24, 'tag' => -7), + "name" => array('type' => 9, 'tag' => -6), + "toonHandle" => array('type' => 123, 'tag' => -5), + "clanTag" => array('type' => 41, 'tag' => -4), + "clanLogo" => array('type' => 42, 'tag' => -3), + "hijack" => array('type' => 13, 'tag' => -2), + "hijackCloneGameUserId" => array('type' => 58, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameUserJoinEvent' +), +180 => new OptionalNode(96), +181 => new StructNode([ + "state" => array('type' => 24, 'tag' => -2), + "sequence" => array('type' => 180, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerStateEvent' +), +182 => new StructNode([ + "target" => array('type' => 93, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetPointEvent' +), +183 => new StructNode([ + "target" => array('type' => 94, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetUnitEvent' +), +184 => new StructNode([ + "catalog" => array('type' => 10, 'tag' => -4), + "entry" => array('type' => 79, 'tag' => -3), + "field" => array('type' => 9, 'tag' => -2), + "value" => array('type' => 9, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CatalogModifyEvent' +), +185 => new StructNode([ + "index" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HeroTalentTreeSelectedEvent' +), +186 => new StructNode([ + "shown" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HeroTalentTreeSelectionPanelToggledEvent' +), +187 => new StructNode([ + "recipient" => array('type' => 12, 'tag' => -2), + "string" => array('type' => 30, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\ChatMessage' +), +188 => new StructNode([ + "recipient" => array('type' => 12, 'tag' => -2), + "point" => array('type' => 85, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\PingMessage' +), +189 => new StructNode([ + "progress" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\LoadingProgressMessage' +), +190 => new StructNode([ + "status" => array('type' => 24, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\ReconnectNotifyMessage' +), +191 => new StructNode([ + "scoreValueMineralsCurrent" => array('type' => 84, 'tag' => 0), + "scoreValueVespeneCurrent" => array('type' => 84, 'tag' => 1), + "scoreValueMineralsCollectionRate" => array('type' => 84, 'tag' => 2), + "scoreValueVespeneCollectionRate" => array('type' => 84, 'tag' => 3), + "scoreValueWorkersActiveCount" => array('type' => 84, 'tag' => 4), + "scoreValueMineralsUsedInProgressArmy" => array('type' => 84, 'tag' => 5), + "scoreValueMineralsUsedInProgressEconomy" => array('type' => 84, 'tag' => 6), + "scoreValueMineralsUsedInProgressTechnology" => array('type' => 84, 'tag' => 7), + "scoreValueVespeneUsedInProgressArmy" => array('type' => 84, 'tag' => 8), + "scoreValueVespeneUsedInProgressEconomy" => array('type' => 84, 'tag' => 9), + "scoreValueVespeneUsedInProgressTechnology" => array('type' => 84, 'tag' => 10), + "scoreValueMineralsUsedCurrentArmy" => array('type' => 84, 'tag' => 11), + "scoreValueMineralsUsedCurrentEconomy" => array('type' => 84, 'tag' => 12), + "scoreValueMineralsUsedCurrentTechnology" => array('type' => 84, 'tag' => 13), + "scoreValueVespeneUsedCurrentArmy" => array('type' => 84, 'tag' => 14), + "scoreValueVespeneUsedCurrentEconomy" => array('type' => 84, 'tag' => 15), + "scoreValueVespeneUsedCurrentTechnology" => array('type' => 84, 'tag' => 16), + "scoreValueMineralsLostArmy" => array('type' => 84, 'tag' => 17), + "scoreValueMineralsLostEconomy" => array('type' => 84, 'tag' => 18), + "scoreValueMineralsLostTechnology" => array('type' => 84, 'tag' => 19), + "scoreValueVespeneLostArmy" => array('type' => 84, 'tag' => 20), + "scoreValueVespeneLostEconomy" => array('type' => 84, 'tag' => 21), + "scoreValueVespeneLostTechnology" => array('type' => 84, 'tag' => 22), + "scoreValueMineralsKilledArmy" => array('type' => 84, 'tag' => 23), + "scoreValueMineralsKilledEconomy" => array('type' => 84, 'tag' => 24), + "scoreValueMineralsKilledTechnology" => array('type' => 84, 'tag' => 25), + "scoreValueVespeneKilledArmy" => array('type' => 84, 'tag' => 26), + "scoreValueVespeneKilledEconomy" => array('type' => 84, 'tag' => 27), + "scoreValueVespeneKilledTechnology" => array('type' => 84, 'tag' => 28), + "scoreValueFoodUsed" => array('type' => 84, 'tag' => 29), + "scoreValueFoodMade" => array('type' => 84, 'tag' => 30), + "scoreValueMineralsUsedActiveForces" => array('type' => 84, 'tag' => 31), + "scoreValueVespeneUsedActiveForces" => array('type' => 84, 'tag' => 32), + "scoreValueMineralsFriendlyFireArmy" => array('type' => 84, 'tag' => 33), + "scoreValueMineralsFriendlyFireEconomy" => array('type' => 84, 'tag' => 34), + "scoreValueMineralsFriendlyFireTechnology" => array('type' => 84, 'tag' => 35), + "scoreValueVespeneFriendlyFireArmy" => array('type' => 84, 'tag' => 36), + "scoreValueVespeneFriendlyFireEconomy" => array('type' => 84, 'tag' => 37), + "scoreValueVespeneFriendlyFireTechnology" => array('type' => 84, 'tag' => 38), +], + 'Rogiel\StarReplay\Event\Tracker\PlayerStats' +), +192 => new StructNode([ + "playerId" => array('type' => 1, 'tag' => 0), + "stats" => array('type' => 191, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\PlayerStatsEvent' +), +193 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), + "unitTypeName" => array('type' => 29, 'tag' => 2), + "controlPlayerId" => array('type' => 1, 'tag' => 3), + "upkeepPlayerId" => array('type' => 1, 'tag' => 4), + "x" => array('type' => 10, 'tag' => 5), + "y" => array('type' => 10, 'tag' => 6), +], + 'Rogiel\StarReplay\Event\Tracker\UnitInitEvent' +), +194 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), + "killerPlayerId" => array('type' => 58, 'tag' => 2), + "x" => array('type' => 10, 'tag' => 3), + "y" => array('type' => 10, 'tag' => 4), + "killerUnitTagIndex" => array('type' => 43, 'tag' => 5), + "killerUnitTagRecycle" => array('type' => 43, 'tag' => 6), +], + 'Rogiel\StarReplay\Event\Tracker\UnitDiedEvent' +), +195 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), + "controlPlayerId" => array('type' => 1, 'tag' => 2), + "upkeepPlayerId" => array('type' => 1, 'tag' => 3), +], + 'Rogiel\StarReplay\Event\Tracker\UnitOwnerChangeEvent' +), +196 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), + "unitTypeName" => array('type' => 29, 'tag' => 2), +], + 'Rogiel\StarReplay\Event\Tracker\UnitTypeChangeEvent' +), +197 => new StructNode([ + "playerId" => array('type' => 1, 'tag' => 0), + "upgradeTypeName" => array('type' => 29, 'tag' => 1), + "count" => array('type' => 84, 'tag' => 2), +], + 'Rogiel\StarReplay\Event\Tracker\UpgradeEvent' +), +198 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\UnitDoneEvent' +), +199 => new ArrayNode( + new IntegerNode(10, 0), + 84, + 'Rogiel\StarReplay\Event\Tracker\UnitPositions' + +), +200 => new StructNode([ + "firstUnitIndex" => array('type' => 6, 'tag' => 0), + "items" => array('type' => 199, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\UnitPositionsEvent' +), +201 => new StructNode([ + "playerId" => array('type' => 1, 'tag' => 0), + "type" => array('type' => 6, 'tag' => 1), + "userId" => array('type' => 43, 'tag' => 2), + "slotId" => array('type' => 43, 'tag' => 3), +], + 'Rogiel\StarReplay\Event\Tracker\PlayerSetupEvent' +), +] +); +Version44293::$GAME_EVENT_MAPPING = [ + 5 => 78, + 7 => 77, + 9 => 70, + 10 => 72, + 11 => 73, + 12 => 74, + 13 => 76, + 14 => 81, + 21 => 82, + 22 => 78, + 23 => 78, + 25 => 83, + 26 => 87, + 27 => 97, + 28 => 105, + 29 => 106, + 30 => 108, + 31 => 110, + 32 => 111, + 33 => 114, + 34 => 115, + 35 => 116, + 36 => 117, + 37 => 118, + 38 => 119, + 39 => 120, + 40 => 121, + 41 => 122, + 43 => 127, + 44 => 78, + 45 => 132, + 46 => 139, + 47 => 140, + 48 => 141, + 49 => 145, + 50 => 78, + 51 => 128, + 52 => 78, + 53 => 129, + 54 => 78, + 55 => 131, + 56 => 135, + 57 => 146, + 58 => 149, + 59 => 150, + 60 => 151, + 61 => 152, + 62 => 153, + 63 => 78, + 64 => 154, + 65 => 155, + 66 => 156, + 67 => 167, + 68 => 78, + 69 => 78, + 70 => 157, + 71 => 158, + 72 => 159, + 73 => 78, + 74 => 78, + 75 => 161, + 76 => 160, + 77 => 78, + 78 => 78, + 79 => 162, + 80 => 78, + 81 => 78, + 82 => 163, + 83 => 164, + 84 => 164, + 85 => 129, + 86 => 78, + 87 => 78, + 88 => 165, + 89 => 166, + 90 => 168, + 91 => 169, + 92 => 171, + 93 => 128, + 94 => 172, + 95 => 173, + 96 => 78, + 97 => 174, + 98 => 175, + 99 => 176, + 100 => 177, + 101 => 178, + 102 => 179, + 103 => 181, + 104 => 182, + 105 => 183, + 106 => 136, + 107 => 137, + 108 => 138, + 109 => 184, + 110 => 185, + 111 => 78, + 112 => 186, +]; +Version44293::$MESSAGE_EVENT_MAPPING = [ + 0 => 187, + 1 => 188, + 2 => 189, + 3 => 78, + 4 => 190, +]; +Version44293::$TRACKER_EVENT_MAPPING = [ + 0 => 192, + 1 => 193, + 2 => 194, + 3 => 195, + 4 => 196, + 5 => 197, + 6 => 193, + 7 => 198, + 8 => 200, + 9 => 201, +]; diff --git a/src/Version/Version44401.php b/src/Version/Version44401.php new file mode 100644 index 0000000..3753d68 --- /dev/null +++ b/src/Version/Version44401.php @@ -0,0 +1,1351 @@ +getNode(18); + } + + public function getReplayInitDataNode() { + return self::$TREE->getNode(69); + } + + public function getGameDetailsNode() { + return self::$TREE->getNode(40); + } + + public function getGameEventHeaderNode() { + return new StructNode( + [ + 'timestamp' => ['type' => 7], + 'user' => ['type' => 8], + 'event' => ['type' => 0] + ], + 'Rogiel\StarReplay\Metadata\Event\Header', + true + ); + } + + public function getMessageEventHeaderNode() { + return new StructNode( + [ + 'timestamp' => ['type' => 7], + 'user' => ['type' => 8], + 'event' => ['type' => 1] + ], + 'Rogiel\StarReplay\Metadata\Event\Header', + true + ); + } + + public function getTrackerEventHeaderNode() { + return new StructNode( + [ + 'timestamp' => ['type' => 7], + 'event' => ['type' => 2] + ], + 'Rogiel\StarReplay\Metadata\Event\Header', + true + ); + } + +} + +Version44401::$TREE = new Tree([ +0 => new IntegerNode(7, 0), +1 => new IntegerNode(4, 0), +2 => new IntegerNode(5, 0), +3 => new IntegerNode(6, 0), +4 => new IntegerNode(14, 0), +5 => new IntegerNode(22, 0), +6 => new IntegerNode(32, 0), +7 => new ChoiceNode(new IntegerNode(2), [ + 0 => 3, + 1 => 4, + 2 => 5, + 3 => 6, +]), +8 => new StructNode([ + "userId" => array('type' => 2, 'tag' => -1), +]), +9 => new BlobNode(new IntegerNode(8, 0)), +10 => new IntegerNode(8, 0), +11 => new StructNode([ + "flags" => array('type' => 10, 'tag' => 0), + "major" => array('type' => 10, 'tag' => 1), + "minor" => array('type' => 10, 'tag' => 2), + "revision" => array('type' => 10, 'tag' => 3), + "build" => array('type' => 6, 'tag' => 4), + "baseBuild" => array('type' => 6, 'tag' => 5), +], + 'Rogiel\StarReplay\Metadata\Header\Version' +), +12 => new IntegerNode(3, 0), +13 => new BooleanNode(), +14 => new ArrayNode( + new IntegerNode(0, 16), + 10 +), +15 => new OptionalNode(14), +16 => new BlobNode(new IntegerNode(0, 16)), +17 => new StructNode([ + "dataDeprecated" => array('type' => 15, 'tag' => 0), + "data" => array('type' => 16, 'tag' => 1), +], + 'Rogiel\StarReplay\Metadata\Header\Hash' +), +18 => new StructNode([ + "signature" => array('type' => 9, 'tag' => 0), + "version" => array('type' => 11, 'tag' => 1), + "type" => array('type' => 12, 'tag' => 2), + "elapsedGameLoops" => array('type' => 6, 'tag' => 3), + "useScaledTime" => array('type' => 13, 'tag' => 4), + "ngdpRootKey" => array('type' => 17, 'tag' => 5), + "dataBuildNum" => array('type' => 6, 'tag' => 6), + "replayCompatibilityHash" => array('type' => 17, 'tag' => 7), +], + 'Rogiel\StarReplay\Metadata\Header\Header' +), +19 => new FourCCNode(), +20 => new BlobNode(new IntegerNode(7, 0)), +21 => new IntegerNode(64, 0), +22 => new StructNode([ + "region" => array('type' => 10, 'tag' => 0), + "programId" => array('type' => 19, 'tag' => 1), + "realm" => array('type' => 6, 'tag' => 2), + "name" => array('type' => 20, 'tag' => 3), + "id" => array('type' => 21, 'tag' => 4), +], + 'Rogiel\StarReplay\Entity\Toon' +), +23 => new StructNode([ + "a" => array('type' => 10, 'tag' => 0), + "r" => array('type' => 10, 'tag' => 1), + "g" => array('type' => 10, 'tag' => 2), + "b" => array('type' => 10, 'tag' => 3), +], + 'Rogiel\StarReplay\Entity\Color' +), +24 => new IntegerNode(2, 0), +25 => new OptionalNode(10), +26 => new StructNode([ + "name" => array('type' => 9, 'tag' => 0), + "toon" => array('type' => 22, 'tag' => 1), + "race" => array('type' => 9, 'tag' => 2), + "color" => array('type' => 23, 'tag' => 3), + "control" => array('type' => 10, 'tag' => 4), + "teamId" => array('type' => 1, 'tag' => 5), + "handicap" => array('type' => 0, 'tag' => 6), + "observe" => array('type' => 24, 'tag' => 7), + "result" => array('type' => 24, 'tag' => 8), + "workingSetSlotId" => array('type' => 25, 'tag' => 9), + "hero" => array('type' => 9, 'tag' => 10), +], + 'Rogiel\StarReplay\Entity\Player' +), +27 => new ArrayNode( + new IntegerNode(5, 0), + 26, + 'Rogiel\StarReplay\Metadata\Match\PlayerList' + +), +28 => new OptionalNode(27), +29 => new BlobNode(new IntegerNode(10, 0)), +30 => new BlobNode(new IntegerNode(11, 0)), +31 => new StructNode([ + "file" => array('type' => 30, 'tag' => 0), +], + 'Rogiel\StarReplay\Entity\Thumbnail' +), +32 => new OptionalNode(13), +33 => new IntegerNode(64, -9223372036854775808), +34 => new BlobNode(new IntegerNode(12, 0)), +35 => new BlobNode(new IntegerNode(0, 40)), +36 => new ArrayNode( + new IntegerNode(6, 0), + 35 +), +37 => new OptionalNode(36), +38 => new ArrayNode( + new IntegerNode(6, 0), + 30 +), +39 => new OptionalNode(38), +40 => new StructNode([ + "playerList" => array('type' => 28, 'tag' => 0), + "title" => array('type' => 29, 'tag' => 1), + "difficulty" => array('type' => 9, 'tag' => 2), + "thumbnail" => array('type' => 31, 'tag' => 3), + "isBlizzardMap" => array('type' => 13, 'tag' => 4), + "restartAsTransitionMap" => array('type' => 32, 'tag' => 16), + "timeUTC" => array('type' => 33, 'tag' => 5), + "timeLocalOffset" => array('type' => 33, 'tag' => 6), + "description" => array('type' => 34, 'tag' => 7), + "imageFilePath" => array('type' => 30, 'tag' => 8), + "campaignIndex" => array('type' => 10, 'tag' => 15), + "mapFileName" => array('type' => 30, 'tag' => 9), + "cacheHandles" => array('type' => 37, 'tag' => 10), + "miniSave" => array('type' => 13, 'tag' => 11), + "gameSpeed" => array('type' => 12, 'tag' => 12), + "defaultDifficulty" => array('type' => 3, 'tag' => 13), + "modPaths" => array('type' => 39, 'tag' => 14), +], + 'Rogiel\StarReplay\Metadata\Match\MatchInformation' +), +41 => new OptionalNode(9), +42 => new OptionalNode(35), +43 => new OptionalNode(6), +44 => new StructNode([ + "race" => array('type' => 25, 'tag' => -1), +]), +45 => new StructNode([ + "team" => array('type' => 25, 'tag' => -1), +]), +46 => new BlobNode(new IntegerNode(9, 0)), +47 => new StructNode([ + "name" => array('type' => 9, 'tag' => -18), + "clanTag" => array('type' => 41, 'tag' => -17), + "clanLogo" => array('type' => 42, 'tag' => -16), + "highestLeague" => array('type' => 25, 'tag' => -15), + "combinedRaceLevels" => array('type' => 43, 'tag' => -14), + "randomSeed" => array('type' => 6, 'tag' => -13), + "racePreference" => array('type' => 44, 'tag' => -12), + "teamPreference" => array('type' => 45, 'tag' => -11), + "testMap" => array('type' => 13, 'tag' => -10), + "testAuto" => array('type' => 13, 'tag' => -9), + "examine" => array('type' => 13, 'tag' => -8), + "customInterface" => array('type' => 13, 'tag' => -7), + "testType" => array('type' => 6, 'tag' => -6), + "observe" => array('type' => 24, 'tag' => -5), + "hero" => array('type' => 46, 'tag' => -4), + "skin" => array('type' => 46, 'tag' => -3), + "mount" => array('type' => 46, 'tag' => -2), + "toonHandle" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\UserInitialData' +), +48 => new ArrayNode( + new IntegerNode(5, 0), + 47, + 'Rogiel\StarReplay\Metadata\Init\UserInitialDataCollection' + +), +49 => new StructNode([ + "lockTeams" => array('type' => 13, 'tag' => -15), + "teamsTogether" => array('type' => 13, 'tag' => -14), + "advancedSharedControl" => array('type' => 13, 'tag' => -13), + "randomRaces" => array('type' => 13, 'tag' => -12), + "battleNet" => array('type' => 13, 'tag' => -11), + "amm" => array('type' => 13, 'tag' => -10), + "competitive" => array('type' => 13, 'tag' => -9), + "practice" => array('type' => 13, 'tag' => -8), + "cooperative" => array('type' => 13, 'tag' => -7), + "noVictoryOrDefeat" => array('type' => 13, 'tag' => -6), + "heroDuplicatesAllowed" => array('type' => 13, 'tag' => -5), + "fog" => array('type' => 24, 'tag' => -4), + "observers" => array('type' => 24, 'tag' => -3), + "userDifficulty" => array('type' => 24, 'tag' => -2), + "clientDebugFlags" => array('type' => 21, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\GameOptions' +), +50 => new IntegerNode(4, 1), +51 => new IntegerNode(8, 1), +52 => new BitArrayNode( + new IntegerNode(6, 0) +), +53 => new BitArrayNode( + new IntegerNode(8, 0) +), +54 => new BitArrayNode( + new IntegerNode(2, 0) +), +55 => new StructNode([ + "allowedColors" => array('type' => 52, 'tag' => -6), + "allowedRaces" => array('type' => 53, 'tag' => -5), + "allowedDifficulty" => array('type' => 52, 'tag' => -4), + "allowedControls" => array('type' => 53, 'tag' => -3), + "allowedObserveTypes" => array('type' => 54, 'tag' => -2), + "allowedAIBuilds" => array('type' => 53, 'tag' => -1), +]), +56 => new ArrayNode( + new IntegerNode(5, 0), + 55 +), +57 => new StructNode([ + "randomValue" => array('type' => 6, 'tag' => -27), + "gameCacheName" => array('type' => 29, 'tag' => -26), + "gameOptions" => array('type' => 49, 'tag' => -25), + "gameSpeed" => array('type' => 12, 'tag' => -24), + "gameType" => array('type' => 12, 'tag' => -23), + "maxUsers" => array('type' => 2, 'tag' => -22), + "maxObservers" => array('type' => 2, 'tag' => -21), + "maxPlayers" => array('type' => 2, 'tag' => -20), + "maxTeams" => array('type' => 50, 'tag' => -19), + "maxColors" => array('type' => 3, 'tag' => -18), + "maxRaces" => array('type' => 51, 'tag' => -17), + "maxControls" => array('type' => 10, 'tag' => -16), + "mapSizeX" => array('type' => 10, 'tag' => -15), + "mapSizeY" => array('type' => 10, 'tag' => -14), + "mapFileSyncChecksum" => array('type' => 6, 'tag' => -13), + "mapFileName" => array('type' => 30, 'tag' => -12), + "mapAuthorName" => array('type' => 9, 'tag' => -11), + "modFileSyncChecksum" => array('type' => 6, 'tag' => -10), + "slotDescriptions" => array('type' => 56, 'tag' => -9), + "defaultDifficulty" => array('type' => 3, 'tag' => -8), + "defaultAIBuild" => array('type' => 10, 'tag' => -7), + "cacheHandles" => array('type' => 36, 'tag' => -6), + "hasExtensionMod" => array('type' => 13, 'tag' => -5), + "hasNonBlizzardExtensionMod" => array('type' => 13, 'tag' => -4), + "isBlizzardMap" => array('type' => 13, 'tag' => -3), + "isPremadeFFA" => array('type' => 13, 'tag' => -2), + "isCoopMode" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\GameDescription' +), +58 => new OptionalNode(1), +59 => new OptionalNode(2), +60 => new StructNode([ + "color" => array('type' => 59, 'tag' => -1), +]), +61 => new ArrayNode( + new IntegerNode(4, 0), + 46 +), +62 => new ArrayNode( + new IntegerNode(17, 0), + 6 +), +63 => new ArrayNode( + new IntegerNode(9, 0), + 6 +), +64 => new ArrayNode( + new IntegerNode(3, 0), + 6 +), +65 => new StructNode([ + "control" => array('type' => 10, 'tag' => -25), + "userId" => array('type' => 58, 'tag' => -24), + "teamId" => array('type' => 1, 'tag' => -23), + "colorPref" => array('type' => 60, 'tag' => -22), + "racePref" => array('type' => 44, 'tag' => -21), + "difficulty" => array('type' => 3, 'tag' => -20), + "aiBuild" => array('type' => 10, 'tag' => -19), + "handicap" => array('type' => 0, 'tag' => -18), + "observe" => array('type' => 24, 'tag' => -17), + "logoIndex" => array('type' => 6, 'tag' => -16), + "hero" => array('type' => 46, 'tag' => -15), + "skin" => array('type' => 46, 'tag' => -14), + "mount" => array('type' => 46, 'tag' => -13), + "artifacts" => array('type' => 61, 'tag' => -12), + "workingSetSlotId" => array('type' => 25, 'tag' => -11), + "rewards" => array('type' => 62, 'tag' => -10), + "toonHandle" => array('type' => 20, 'tag' => -9), + "licenses" => array('type' => 63, 'tag' => -8), + "tandemLeaderId" => array('type' => 58, 'tag' => -7), + "commander" => array('type' => 46, 'tag' => -6), + "commanderLevel" => array('type' => 6, 'tag' => -5), + "hasSilencePenalty" => array('type' => 13, 'tag' => -4), + "tandemId" => array('type' => 58, 'tag' => -3), + "commanderMasteryLevel" => array('type' => 6, 'tag' => -2), + "commanderMasteryTalents" => array('type' => 64, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\LobbySlot' +), +66 => new ArrayNode( + new IntegerNode(5, 0), + 65 +), +67 => new StructNode([ + "phase" => array('type' => 12, 'tag' => -11), + "maxUsers" => array('type' => 2, 'tag' => -10), + "maxObservers" => array('type' => 2, 'tag' => -9), + "slots" => array('type' => 66, 'tag' => -8), + "randomSeed" => array('type' => 6, 'tag' => -7), + "hostUserId" => array('type' => 58, 'tag' => -6), + "isSinglePlayer" => array('type' => 13, 'tag' => -5), + "pickedMapTag" => array('type' => 10, 'tag' => -4), + "gameDuration" => array('type' => 6, 'tag' => -3), + "defaultDifficulty" => array('type' => 3, 'tag' => -2), + "defaultAIBuild" => array('type' => 10, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\LobbyState' +), +68 => new StructNode([ + "userInitialData" => array('type' => 48, 'tag' => -3), + "gameDescription" => array('type' => 57, 'tag' => -2), + "lobbyState" => array('type' => 67, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\SyncLobbyState' +), +69 => new StructNode([ + "syncLobbyState" => array('type' => 68, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\InitData' +), +70 => new StructNode([ + "name" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankFileEvent' +), +71 => new BlobNode(new IntegerNode(6, 0)), +72 => new StructNode([ + "name" => array('type' => 71, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSectionEvent' +), +73 => new StructNode([ + "name" => array('type' => 71, 'tag' => -3), + "type" => array('type' => 6, 'tag' => -2), + "data" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankKeyEvent' +), +74 => new StructNode([ + "type" => array('type' => 6, 'tag' => -3), + "name" => array('type' => 71, 'tag' => -2), + "data" => array('type' => 34, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankValueEvent' +), +75 => new ArrayNode( + new IntegerNode(5, 0), + 10, + 'Rogiel\StarReplay\Event\Game\Entity\BankSignature' + +), +76 => new StructNode([ + "signature" => array('type' => 75, 'tag' => -2), + "toonHandle" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSignatureEvent' +), +77 => new StructNode([ + "gameFullyDownloaded" => array('type' => 13, 'tag' => -14), + "developmentCheatsEnabled" => array('type' => 13, 'tag' => -13), + "testCheatsEnabled" => array('type' => 13, 'tag' => -12), + "multiplayerCheatsEnabled" => array('type' => 13, 'tag' => -11), + "syncChecksummingEnabled" => array('type' => 13, 'tag' => -10), + "isMapToMapTransition" => array('type' => 13, 'tag' => -9), + "debugPauseEnabled" => array('type' => 13, 'tag' => -8), + "useGalaxyAsserts" => array('type' => 13, 'tag' => -7), + "platformMac" => array('type' => 13, 'tag' => -6), + "cameraFollow" => array('type' => 13, 'tag' => -5), + "baseBuildNum" => array('type' => 6, 'tag' => -4), + "buildNum" => array('type' => 6, 'tag' => -3), + "versionFlags" => array('type' => 6, 'tag' => -2), + "hotkeyProfile" => array('type' => 46, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UserOptionsEvent' +), +78 => new StructNode([ +], + 'Rogiel\StarReplay\Event\Message\ServerPingMessage' +), +79 => new IntegerNode(16, 0), +80 => new StructNode([ + "x" => array('type' => 79, 'tag' => -2), + "y" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +81 => new StructNode([ + "which" => array('type' => 12, 'tag' => -2), + "target" => array('type' => 80, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraSaveEvent' +), +82 => new StructNode([ + "fileName" => array('type' => 30, 'tag' => -5), + "automatic" => array('type' => 13, 'tag' => -4), + "overwrite" => array('type' => 13, 'tag' => -3), + "name" => array('type' => 9, 'tag' => -2), + "description" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SaveGameEvent' +), +83 => new StructNode([ + "sequence" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerResetEvent' +), +84 => new IntegerNode(32, -2147483648), +85 => new StructNode([ + "x" => array('type' => 84, 'tag' => -2), + "y" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +86 => new StructNode([ + "point" => array('type' => 85, 'tag' => -4), + "time" => array('type' => 84, 'tag' => -3), + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +]), +87 => new StructNode([ + "data" => array('type' => 86, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameCheatEvent' +), +88 => new IntegerNode(25, 0), +89 => new StructNode([ + "abilLink" => array('type' => 79, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "abilCmdData" => array('type' => 25, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\Ability' +), +90 => new OptionalNode(89), +91 => new NullNode(), +92 => new IntegerNode(20, 0), +93 => new StructNode([ + "x" => array('type' => 92, 'tag' => -3), + "y" => array('type' => 92, 'tag' => -2), + "z" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +94 => new StructNode([ + "targetUnitFlags" => array('type' => 79, 'tag' => -7), + "timer" => array('type' => 10, 'tag' => -6), + "tag" => array('type' => 6, 'tag' => -5), + "snapshotUnitLink" => array('type' => 79, 'tag' => -4), + "snapshotControlPlayerId" => array('type' => 58, 'tag' => -3), + "snapshotUpkeepPlayerId" => array('type' => 58, 'tag' => -2), + "snapshotPoint" => array('type' => 93, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\TargetUnit' +), +95 => new ChoiceNode(new IntegerNode(2), [ + 0 => 91, + 1 => 93, + 2 => 94, + 3 => 6, +]), +96 => new IntegerNode(32, 1), +97 => new StructNode([ + "cmdFlags" => array('type' => 88, 'tag' => -6), + "abil" => array('type' => 90, 'tag' => -5), + "data" => array('type' => 95, 'tag' => -4), + "sequence" => array('type' => 96, 'tag' => -3), + "otherUnit" => array('type' => 43, 'tag' => -2), + "unitGroup" => array('type' => 43, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdEvent' +), +98 => new IntegerNode(9, 0), +99 => new BitArrayNode( + new IntegerNode(9, 0) +, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateMask'), +100 => new ArrayNode( + new IntegerNode(9, 0), + 98, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateZeroIndices' + +), +101 => new ChoiceNode(new IntegerNode(2), [ + 0 => 91, + 1 => 99, + 2 => 100, + 3 => 100, +]), +102 => new StructNode([ + "unitLink" => array('type' => 79, 'tag' => -4), + "subgroupPriority" => array('type' => 10, 'tag' => -3), + "intraSubgroupPriority" => array('type' => 10, 'tag' => -2), + "count" => array('type' => 98, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SubgroupUnit' +), +103 => new ArrayNode( + new IntegerNode(9, 0), + 102 +), +104 => new StructNode([ + "subgroupIndex" => array('type' => 98, 'tag' => -4), + "removeMask" => array('type' => 101, 'tag' => -3), + "addSubgroups" => array('type' => 103, 'tag' => -2), + "addUnitTags" => array('type' => 63, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SelectionDelta' +), +105 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "delta" => array('type' => 104, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionDeltaEvent' +), +106 => new StructNode([ + "controlGroupIndex" => array('type' => 1, 'tag' => -3), + "controlGroupUpdate" => array('type' => 12, 'tag' => -2), + "mask" => array('type' => 101, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ControlGroupUpdateEvent' +), +107 => new StructNode([ + "count" => array('type' => 98, 'tag' => -6), + "subgroupCount" => array('type' => 98, 'tag' => -5), + "activeSubgroupIndex" => array('type' => 98, 'tag' => -4), + "unitTagsChecksum" => array('type' => 6, 'tag' => -3), + "subgroupIndicesChecksum" => array('type' => 6, 'tag' => -2), + "subgroupsChecksum" => array('type' => 6, 'tag' => -1), +]), +108 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "selectionSyncData" => array('type' => 107, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionSyncCheckEvent' +), +109 => new ArrayNode( + new IntegerNode(3, 0), + 84, + 'Rogiel\StarReplay\Event\Game\Entity\ResourceRequest' + +), +110 => new StructNode([ + "recipientId" => array('type' => 1, 'tag' => -2), + "resources" => array('type' => 109, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceTradeEvent' +), +111 => new StructNode([ + "chatMessage" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerChatMessageEvent' +), +112 => new IntegerNode(8, -128), +113 => new StructNode([ + "x" => array('type' => 84, 'tag' => -3), + "y" => array('type' => 84, 'tag' => -2), + "z" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +114 => new StructNode([ + "beacon" => array('type' => 112, 'tag' => -9), + "ally" => array('type' => 112, 'tag' => -8), + "flags" => array('type' => 112, 'tag' => -7), + "build" => array('type' => 112, 'tag' => -6), + "targetUnitTag" => array('type' => 6, 'tag' => -5), + "targetUnitSnapshotUnitLink" => array('type' => 79, 'tag' => -4), + "targetUnitSnapshotUpkeepPlayerId" => array('type' => 112, 'tag' => -3), + "targetUnitSnapshotControlPlayerId" => array('type' => 112, 'tag' => -2), + "targetPoint" => array('type' => 113, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AICommunicateEvent' +), +115 => new StructNode([ + "speed" => array('type' => 12, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SetAbsoluteGameSpeedEvent' +), +116 => new StructNode([ + "delta" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AddAbsoluteGameSpeedEvent' +), +117 => new StructNode([ + "point" => array('type' => 85, 'tag' => -9), + "unit" => array('type' => 6, 'tag' => -8), + "unitLink" => array('type' => 79, 'tag' => -7), + "unitControlPlayerId" => array('type' => 58, 'tag' => -6), + "unitUpkeepPlayerId" => array('type' => 58, 'tag' => -5), + "unitPosition" => array('type' => 93, 'tag' => -4), + "unitIsUnderConstruction" => array('type' => 13, 'tag' => -3), + "pingedMinimap" => array('type' => 13, 'tag' => -2), + "option" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPingEvent' +), +118 => new StructNode([ + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BroadcastCheatEvent' +), +119 => new StructNode([ + "alliance" => array('type' => 6, 'tag' => -2), + "control" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AllianceEvent' +), +120 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitClickEvent' +), +121 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -2), + "flags" => array('type' => 10, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitHighlightEvent' +), +122 => new StructNode([ + "conversationId" => array('type' => 84, 'tag' => -2), + "replyId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerReplySelectedEvent' +), +123 => new OptionalNode(20), +124 => new StructNode([ + "gameUserId" => array('type' => 1, 'tag' => -6), + "observe" => array('type' => 24, 'tag' => -5), + "name" => array('type' => 9, 'tag' => -4), + "toonHandle" => array('type' => 123, 'tag' => -3), + "clanTag" => array('type' => 41, 'tag' => -2), + "clanLogo" => array('type' => 42, 'tag' => -1), +]), +125 => new ArrayNode( + new IntegerNode(5, 0), + 124 +), +126 => new IntegerNode(1, 0), +127 => new StructNode([ + "userInfos" => array('type' => 125, 'tag' => -2), + "method" => array('type' => 126, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HijackReplayGameEvent' +), +128 => new StructNode([ + "purchaseItemId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseItemChangedEvent' +), +129 => new StructNode([ + "difficultyLevel" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerVictoryPanelPlayMissionAgainEvent' +), +130 => new ChoiceNode(new IntegerNode(3), [ + 0 => 91, + 1 => 13, + 2 => 6, + 3 => 84, + 4 => 30, + 5 => 6, +]), +131 => new StructNode([ + "controlId" => array('type' => 84, 'tag' => -3), + "eventType" => array('type' => 84, 'tag' => -2), + "eventData" => array('type' => 130, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerDialogControlEvent' +), +132 => new StructNode([ + "soundHash" => array('type' => 6, 'tag' => -2), + "length" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthQueryEvent' +), +133 => new ArrayNode( + new IntegerNode(7, 0), + 6 +), +134 => new StructNode([ + "soundHash" => array('type' => 133, 'tag' => -2), + "length" => array('type' => 133, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SoundLengthSync' +), +135 => new StructNode([ + "syncInfo" => array('type' => 134, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthSyncEvent' +), +136 => new StructNode([ + "queryId" => array('type' => 79, 'tag' => -3), + "lengthMs" => array('type' => 6, 'tag' => -2), + "finishGameLoop" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByNameEvent' +), +137 => new StructNode([ + "queryId" => array('type' => 79, 'tag' => -2), + "lengthMs" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByPropsEvent' +), +138 => new StructNode([ + "animWaitQueryId" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimOffsetEvent' +), +139 => new StructNode([ + "sound" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundOffsetEvent' +), +140 => new StructNode([ + "transmissionId" => array('type' => 84, 'tag' => -2), + "thread" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionOffsetEvent' +), +141 => new StructNode([ + "transmissionId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionCompleteEvent' +), +142 => new OptionalNode(80), +143 => new OptionalNode(79), +144 => new OptionalNode(112), +145 => new StructNode([ + "target" => array('type' => 142, 'tag' => -6), + "distance" => array('type' => 143, 'tag' => -5), + "pitch" => array('type' => 143, 'tag' => -4), + "yaw" => array('type' => 143, 'tag' => -3), + "reason" => array('type' => 144, 'tag' => -2), + "follow" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraUpdateEvent' +), +146 => new StructNode([ + "skipType" => array('type' => 126, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerConversationSkippedEvent' +), +147 => new IntegerNode(11, 0), +148 => new StructNode([ + "x" => array('type' => 147, 'tag' => -2), + "y" => array('type' => 147, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +149 => new StructNode([ + "button" => array('type' => 6, 'tag' => -5), + "down" => array('type' => 13, 'tag' => -4), + "posUI" => array('type' => 148, 'tag' => -3), + "posWorld" => array('type' => 93, 'tag' => -2), + "flags" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseClickedEvent' +), +150 => new StructNode([ + "posUI" => array('type' => 148, 'tag' => -3), + "posWorld" => array('type' => 93, 'tag' => -2), + "flags" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseMovedEvent' +), +151 => new StructNode([ + "achievementLink" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AchievementAwardedEvent' +), +152 => new StructNode([ + "hotkey" => array('type' => 6, 'tag' => -2), + "down" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerHotkeyPressedEvent' +), +153 => new StructNode([ + "abilLink" => array('type' => 79, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "state" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTargetModeUpdateEvent' +), +154 => new StructNode([ + "soundtrack" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundtrackDoneEvent' +), +155 => new StructNode([ + "planetId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPlanetMissionSelectedEvent' +), +156 => new StructNode([ + "key" => array('type' => 112, 'tag' => -2), + "flags" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerKeyPressedEvent' +), +157 => new StructNode([ + "resources" => array('type' => 109, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestEvent' +), +158 => new StructNode([ + "fulfillRequestId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestFulfillEvent' +), +159 => new StructNode([ + "cancelRequestId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestCancelEvent' +), +160 => new StructNode([ + "error" => array('type' => 84, 'tag' => -2), + "abil" => array('type' => 90, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCommandErrorEvent' +), +161 => new StructNode([ + "researchItemId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerResearchPanelSelectionChangedEvent' +), +162 => new StructNode([ + "mercenaryId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMercenaryPanelSelectionChangedEvent' +), +163 => new StructNode([ + "battleReportId" => array('type' => 84, 'tag' => -2), + "difficultyLevel" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelPlayMissionEvent' +), +164 => new StructNode([ + "battleReportId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelSelectionChangedEvent' +), +165 => new StructNode([ + "decrementSeconds" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\DecrementGameTimeRemainingEvent' +), +166 => new StructNode([ + "portraitId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPortraitLoadedEvent' +), +167 => new StructNode([ + "functionName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMovieFunctionEvent' +), +168 => new StructNode([ + "result" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCustomDialogDismissedEvent' +), +169 => new StructNode([ + "gameMenuItemIndex" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerGameMenuItemSelectedEvent' +), +170 => new IntegerNode(16, -32768), +171 => new StructNode([ + "wheelSpin" => array('type' => 170, 'tag' => -2), + "flags" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseWheelEvent' +), +172 => new StructNode([ + "purchaseCategoryId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseCategoryChangedEvent' +), +173 => new StructNode([ + "button" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerButtonPressedEvent' +), +174 => new StructNode([ + "cutsceneId" => array('type' => 84, 'tag' => -2), + "bookmarkName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneBookmarkFiredEvent' +), +175 => new StructNode([ + "cutsceneId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneEndSceneFiredEvent' +), +176 => new StructNode([ + "cutsceneId" => array('type' => 84, 'tag' => -3), + "conversationLine" => array('type' => 20, 'tag' => -2), + "altConversationLine" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneConversationLineEvent' +), +177 => new StructNode([ + "cutsceneId" => array('type' => 84, 'tag' => -2), + "conversationLine" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneConversationLineMissingEvent' +), +178 => new StructNode([ + "leaveReason" => array('type' => 1, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameUserLeaveEvent' +), +179 => new StructNode([ + "observe" => array('type' => 24, 'tag' => -7), + "name" => array('type' => 9, 'tag' => -6), + "toonHandle" => array('type' => 123, 'tag' => -5), + "clanTag" => array('type' => 41, 'tag' => -4), + "clanLogo" => array('type' => 42, 'tag' => -3), + "hijack" => array('type' => 13, 'tag' => -2), + "hijackCloneGameUserId" => array('type' => 58, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameUserJoinEvent' +), +180 => new OptionalNode(96), +181 => new StructNode([ + "state" => array('type' => 24, 'tag' => -2), + "sequence" => array('type' => 180, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerStateEvent' +), +182 => new StructNode([ + "target" => array('type' => 93, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetPointEvent' +), +183 => new StructNode([ + "target" => array('type' => 94, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetUnitEvent' +), +184 => new StructNode([ + "catalog" => array('type' => 10, 'tag' => -4), + "entry" => array('type' => 79, 'tag' => -3), + "field" => array('type' => 9, 'tag' => -2), + "value" => array('type' => 9, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CatalogModifyEvent' +), +185 => new StructNode([ + "index" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HeroTalentTreeSelectedEvent' +), +186 => new StructNode([ + "shown" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HeroTalentTreeSelectionPanelToggledEvent' +), +187 => new StructNode([ + "recipient" => array('type' => 12, 'tag' => -2), + "string" => array('type' => 30, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\ChatMessage' +), +188 => new StructNode([ + "recipient" => array('type' => 12, 'tag' => -2), + "point" => array('type' => 85, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\PingMessage' +), +189 => new StructNode([ + "progress" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\LoadingProgressMessage' +), +190 => new StructNode([ + "status" => array('type' => 24, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\ReconnectNotifyMessage' +), +191 => new StructNode([ + "scoreValueMineralsCurrent" => array('type' => 84, 'tag' => 0), + "scoreValueVespeneCurrent" => array('type' => 84, 'tag' => 1), + "scoreValueMineralsCollectionRate" => array('type' => 84, 'tag' => 2), + "scoreValueVespeneCollectionRate" => array('type' => 84, 'tag' => 3), + "scoreValueWorkersActiveCount" => array('type' => 84, 'tag' => 4), + "scoreValueMineralsUsedInProgressArmy" => array('type' => 84, 'tag' => 5), + "scoreValueMineralsUsedInProgressEconomy" => array('type' => 84, 'tag' => 6), + "scoreValueMineralsUsedInProgressTechnology" => array('type' => 84, 'tag' => 7), + "scoreValueVespeneUsedInProgressArmy" => array('type' => 84, 'tag' => 8), + "scoreValueVespeneUsedInProgressEconomy" => array('type' => 84, 'tag' => 9), + "scoreValueVespeneUsedInProgressTechnology" => array('type' => 84, 'tag' => 10), + "scoreValueMineralsUsedCurrentArmy" => array('type' => 84, 'tag' => 11), + "scoreValueMineralsUsedCurrentEconomy" => array('type' => 84, 'tag' => 12), + "scoreValueMineralsUsedCurrentTechnology" => array('type' => 84, 'tag' => 13), + "scoreValueVespeneUsedCurrentArmy" => array('type' => 84, 'tag' => 14), + "scoreValueVespeneUsedCurrentEconomy" => array('type' => 84, 'tag' => 15), + "scoreValueVespeneUsedCurrentTechnology" => array('type' => 84, 'tag' => 16), + "scoreValueMineralsLostArmy" => array('type' => 84, 'tag' => 17), + "scoreValueMineralsLostEconomy" => array('type' => 84, 'tag' => 18), + "scoreValueMineralsLostTechnology" => array('type' => 84, 'tag' => 19), + "scoreValueVespeneLostArmy" => array('type' => 84, 'tag' => 20), + "scoreValueVespeneLostEconomy" => array('type' => 84, 'tag' => 21), + "scoreValueVespeneLostTechnology" => array('type' => 84, 'tag' => 22), + "scoreValueMineralsKilledArmy" => array('type' => 84, 'tag' => 23), + "scoreValueMineralsKilledEconomy" => array('type' => 84, 'tag' => 24), + "scoreValueMineralsKilledTechnology" => array('type' => 84, 'tag' => 25), + "scoreValueVespeneKilledArmy" => array('type' => 84, 'tag' => 26), + "scoreValueVespeneKilledEconomy" => array('type' => 84, 'tag' => 27), + "scoreValueVespeneKilledTechnology" => array('type' => 84, 'tag' => 28), + "scoreValueFoodUsed" => array('type' => 84, 'tag' => 29), + "scoreValueFoodMade" => array('type' => 84, 'tag' => 30), + "scoreValueMineralsUsedActiveForces" => array('type' => 84, 'tag' => 31), + "scoreValueVespeneUsedActiveForces" => array('type' => 84, 'tag' => 32), + "scoreValueMineralsFriendlyFireArmy" => array('type' => 84, 'tag' => 33), + "scoreValueMineralsFriendlyFireEconomy" => array('type' => 84, 'tag' => 34), + "scoreValueMineralsFriendlyFireTechnology" => array('type' => 84, 'tag' => 35), + "scoreValueVespeneFriendlyFireArmy" => array('type' => 84, 'tag' => 36), + "scoreValueVespeneFriendlyFireEconomy" => array('type' => 84, 'tag' => 37), + "scoreValueVespeneFriendlyFireTechnology" => array('type' => 84, 'tag' => 38), +], + 'Rogiel\StarReplay\Event\Tracker\PlayerStats' +), +192 => new StructNode([ + "playerId" => array('type' => 1, 'tag' => 0), + "stats" => array('type' => 191, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\PlayerStatsEvent' +), +193 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), + "unitTypeName" => array('type' => 29, 'tag' => 2), + "controlPlayerId" => array('type' => 1, 'tag' => 3), + "upkeepPlayerId" => array('type' => 1, 'tag' => 4), + "x" => array('type' => 10, 'tag' => 5), + "y" => array('type' => 10, 'tag' => 6), +], + 'Rogiel\StarReplay\Event\Tracker\UnitInitEvent' +), +194 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), + "killerPlayerId" => array('type' => 58, 'tag' => 2), + "x" => array('type' => 10, 'tag' => 3), + "y" => array('type' => 10, 'tag' => 4), + "killerUnitTagIndex" => array('type' => 43, 'tag' => 5), + "killerUnitTagRecycle" => array('type' => 43, 'tag' => 6), +], + 'Rogiel\StarReplay\Event\Tracker\UnitDiedEvent' +), +195 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), + "controlPlayerId" => array('type' => 1, 'tag' => 2), + "upkeepPlayerId" => array('type' => 1, 'tag' => 3), +], + 'Rogiel\StarReplay\Event\Tracker\UnitOwnerChangeEvent' +), +196 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), + "unitTypeName" => array('type' => 29, 'tag' => 2), +], + 'Rogiel\StarReplay\Event\Tracker\UnitTypeChangeEvent' +), +197 => new StructNode([ + "playerId" => array('type' => 1, 'tag' => 0), + "upgradeTypeName" => array('type' => 29, 'tag' => 1), + "count" => array('type' => 84, 'tag' => 2), +], + 'Rogiel\StarReplay\Event\Tracker\UpgradeEvent' +), +198 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\UnitDoneEvent' +), +199 => new ArrayNode( + new IntegerNode(10, 0), + 84, + 'Rogiel\StarReplay\Event\Tracker\UnitPositions' + +), +200 => new StructNode([ + "firstUnitIndex" => array('type' => 6, 'tag' => 0), + "items" => array('type' => 199, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\UnitPositionsEvent' +), +201 => new StructNode([ + "playerId" => array('type' => 1, 'tag' => 0), + "type" => array('type' => 6, 'tag' => 1), + "userId" => array('type' => 43, 'tag' => 2), + "slotId" => array('type' => 43, 'tag' => 3), +], + 'Rogiel\StarReplay\Event\Tracker\PlayerSetupEvent' +), +] +); +Version44401::$GAME_EVENT_MAPPING = [ + 5 => 78, + 7 => 77, + 9 => 70, + 10 => 72, + 11 => 73, + 12 => 74, + 13 => 76, + 14 => 81, + 21 => 82, + 22 => 78, + 23 => 78, + 25 => 83, + 26 => 87, + 27 => 97, + 28 => 105, + 29 => 106, + 30 => 108, + 31 => 110, + 32 => 111, + 33 => 114, + 34 => 115, + 35 => 116, + 36 => 117, + 37 => 118, + 38 => 119, + 39 => 120, + 40 => 121, + 41 => 122, + 43 => 127, + 44 => 78, + 45 => 132, + 46 => 139, + 47 => 140, + 48 => 141, + 49 => 145, + 50 => 78, + 51 => 128, + 52 => 78, + 53 => 129, + 54 => 78, + 55 => 131, + 56 => 135, + 57 => 146, + 58 => 149, + 59 => 150, + 60 => 151, + 61 => 152, + 62 => 153, + 63 => 78, + 64 => 154, + 65 => 155, + 66 => 156, + 67 => 167, + 68 => 78, + 69 => 78, + 70 => 157, + 71 => 158, + 72 => 159, + 73 => 78, + 74 => 78, + 75 => 161, + 76 => 160, + 77 => 78, + 78 => 78, + 79 => 162, + 80 => 78, + 81 => 78, + 82 => 163, + 83 => 164, + 84 => 164, + 85 => 129, + 86 => 78, + 87 => 78, + 88 => 165, + 89 => 166, + 90 => 168, + 91 => 169, + 92 => 171, + 93 => 128, + 94 => 172, + 95 => 173, + 96 => 78, + 97 => 174, + 98 => 175, + 99 => 176, + 100 => 177, + 101 => 178, + 102 => 179, + 103 => 181, + 104 => 182, + 105 => 183, + 106 => 136, + 107 => 137, + 108 => 138, + 109 => 184, + 110 => 185, + 111 => 78, + 112 => 186, +]; +Version44401::$MESSAGE_EVENT_MAPPING = [ + 0 => 187, + 1 => 188, + 2 => 189, + 3 => 78, + 4 => 190, +]; +Version44401::$TRACKER_EVENT_MAPPING = [ + 0 => 192, + 1 => 193, + 2 => 194, + 3 => 195, + 4 => 196, + 5 => 197, + 6 => 193, + 7 => 198, + 8 => 200, + 9 => 201, +]; diff --git a/src/Version/Versions.php b/src/Version/Versions.php index e4c3c41..26d397d 100644 --- a/src/Version/Versions.php +++ b/src/Version/Versions.php @@ -61,9 +61,26 @@ class Versions { 34835 => 'Rogiel\StarReplay\Version\Version34835', 36442 => 'Rogiel\StarReplay\Version\Version36442', 38215 => 'Rogiel\StarReplay\Version\Version38215', + 38535 => 'Rogiel\StarReplay\Version\Version38535', + 38624 => 'Rogiel\StarReplay\Version\Version38624', 38749 => 'Rogiel\StarReplay\Version\Version38749', 38996 => 'Rogiel\StarReplay\Version\Version38996', - 39576 => 'Rogiel\StarReplay\Version\Version39576' + 39117 => 'Rogiel\StarReplay\Version\Version39117', + 39576 => 'Rogiel\StarReplay\Version\Version39576', + 39948 => 'Rogiel\StarReplay\Version\Version39948', + 40384 => 'Rogiel\StarReplay\Version\Version40384', + 40977 => 'Rogiel\StarReplay\Version\Version40977', + 41128 => 'Rogiel\StarReplay\Version\Version41128', + 41219 => 'Rogiel\StarReplay\Version\Version41219', + 41743 => 'Rogiel\StarReplay\Version\Version41743', + 41973 => 'Rogiel\StarReplay\Version\Version41973', + 42253 => 'Rogiel\StarReplay\Version\Version42253', + 42932 => 'Rogiel\StarReplay\Version\Version42932', + 43199 => 'Rogiel\StarReplay\Version\Version43199', + 43478 => 'Rogiel\StarReplay\Version\Version43478', + 44169 => 'Rogiel\StarReplay\Version\Version44169', + 44293 => 'Rogiel\StarReplay\Version\Version44293', + 44401 => 'Rogiel\StarReplay\Version\Version44401' ]; }