diff --git a/s2protocol b/s2protocol index d9973aa..08bccf2 160000 --- a/s2protocol +++ b/s2protocol @@ -1 +1 @@ -Subproject commit d9973aacd000a18a98a91fc6a8c66cbf201940cb +Subproject commit 08bccf2026316fd2636bec8846363ff78ee47a27 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/Version/Version38535.php b/src/Version/Version38535.php new file mode 100644 index 0000000..1a3c78b --- /dev/null +++ b/src/Version/Version38535.php @@ -0,0 +1,1340 @@ +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 + ); + } + +} + +Version38535::$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), + "fixedFileHash" => 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 BitArrayNode( + new IntegerNode(7, 0) +), +56 => 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' => 55, 'tag' => -1), +]), +57 => new ArrayNode( + new IntegerNode(5, 0), + 56 +), +58 => new StructNode([ + "randomValue" => array('type' => 6, 'tag' => -26), + "gameCacheName" => array('type' => 29, 'tag' => -25), + "gameOptions" => array('type' => 49, 'tag' => -24), + "gameSpeed" => array('type' => 12, 'tag' => -23), + "gameType" => array('type' => 12, 'tag' => -22), + "maxUsers" => array('type' => 2, 'tag' => -21), + "maxObservers" => array('type' => 2, 'tag' => -20), + "maxPlayers" => array('type' => 2, 'tag' => -19), + "maxTeams" => array('type' => 50, 'tag' => -18), + "maxColors" => array('type' => 3, 'tag' => -17), + "maxRaces" => array('type' => 51, 'tag' => -16), + "maxControls" => array('type' => 10, 'tag' => -15), + "mapSizeX" => array('type' => 10, 'tag' => -14), + "mapSizeY" => array('type' => 10, 'tag' => -13), + "mapFileSyncChecksum" => array('type' => 6, 'tag' => -12), + "mapFileName" => array('type' => 30, 'tag' => -11), + "mapAuthorName" => array('type' => 9, 'tag' => -10), + "modFileSyncChecksum" => array('type' => 6, 'tag' => -9), + "slotDescriptions" => array('type' => 57, 'tag' => -8), + "defaultDifficulty" => array('type' => 3, 'tag' => -7), + "defaultAIBuild" => array('type' => 0, 'tag' => -6), + "cacheHandles" => array('type' => 36, 'tag' => -5), + "hasExtensionMod" => 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' +), +59 => new OptionalNode(1), +60 => new OptionalNode(2), +61 => new StructNode([ + "color" => array('type' => 60, 'tag' => -1), +]), +62 => new ArrayNode( + new IntegerNode(4, 0), + 46 +), +63 => new ArrayNode( + new IntegerNode(17, 0), + 6 +), +64 => new ArrayNode( + new IntegerNode(9, 0), + 6 +), +65 => new StructNode([ + "control" => array('type' => 10, 'tag' => -22), + "userId" => array('type' => 59, 'tag' => -21), + "teamId" => array('type' => 1, 'tag' => -20), + "colorPref" => array('type' => 61, 'tag' => -19), + "racePref" => array('type' => 44, 'tag' => -18), + "difficulty" => array('type' => 3, 'tag' => -17), + "aiBuild" => array('type' => 0, 'tag' => -16), + "handicap" => array('type' => 0, 'tag' => -15), + "observe" => array('type' => 24, 'tag' => -14), + "logoIndex" => array('type' => 6, 'tag' => -13), + "hero" => array('type' => 46, 'tag' => -12), + "skin" => array('type' => 46, 'tag' => -11), + "mount" => array('type' => 46, 'tag' => -10), + "artifacts" => array('type' => 62, 'tag' => -9), + "workingSetSlotId" => array('type' => 25, 'tag' => -8), + "rewards" => array('type' => 63, 'tag' => -7), + "toonHandle" => array('type' => 20, 'tag' => -6), + "licenses" => array('type' => 64, 'tag' => -5), + "tandemLeaderUserId" => array('type' => 59, 'tag' => -4), + "commander" => array('type' => 46, 'tag' => -3), + "commanderLevel" => array('type' => 6, 'tag' => -2), + "hasSilencePenalty" => array('type' => 13, 'tag' => -1), +]), +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' => 59, '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' => 0, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\LobbyState' +), +68 => new StructNode([ + "userInitialData" => array('type' => 48, 'tag' => -3), + "gameDescription" => array('type' => 58, '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' => 59, 'tag' => -3), + "snapshotUpkeepPlayerId" => array('type' => 59, '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' => 64, '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' => -4), + "unit" => array('type' => 6, '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 IntegerNode(19, 0), +166 => new StructNode([ + "decrementMs" => array('type' => 165, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\DecrementGameTimeRemainingEvent' +), +167 => new StructNode([ + "portraitId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPortraitLoadedEvent' +), +168 => new StructNode([ + "functionName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMovieFunctionEvent' +), +169 => new StructNode([ + "result" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCustomDialogDismissedEvent' +), +170 => new StructNode([ + "gameMenuItemIndex" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerGameMenuItemSelectedEvent' +), +171 => new IntegerNode(16, -32768), +172 => new StructNode([ + "wheelSpin" => array('type' => 171, 'tag' => -2), + "flags" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseWheelEvent' +), +173 => new StructNode([ + "purchaseCategoryId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseCategoryChangedEvent' +), +174 => new StructNode([ + "button" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerButtonPressedEvent' +), +175 => new StructNode([ + "cutsceneId" => array('type' => 84, 'tag' => -2), + "bookmarkName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneBookmarkFiredEvent' +), +176 => new StructNode([ + "cutsceneId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneEndSceneFiredEvent' +), +177 => 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' +), +178 => new StructNode([ + "cutsceneId" => array('type' => 84, 'tag' => -2), + "conversationLine" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneConversationLineMissingEvent' +), +179 => new StructNode([ + "leaveReason" => array('type' => 1, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameUserLeaveEvent' +), +180 => 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' => 59, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameUserJoinEvent' +), +181 => new OptionalNode(96), +182 => new StructNode([ + "state" => array('type' => 24, 'tag' => -2), + "sequence" => array('type' => 181, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerStateEvent' +), +183 => new StructNode([ + "target" => array('type' => 93, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetPointEvent' +), +184 => new StructNode([ + "target" => array('type' => 94, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetUnitEvent' +), +185 => 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' +), +186 => new StructNode([ + "index" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HeroTalentTreeSelectedEvent' +), +187 => new StructNode([ + "shown" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HeroTalentTreeSelectionPanelToggledEvent' +), +188 => new StructNode([ + "recipient" => array('type' => 12, 'tag' => -2), + "string" => array('type' => 30, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\ChatMessage' +), +189 => new StructNode([ + "recipient" => array('type' => 12, 'tag' => -2), + "point" => array('type' => 85, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\PingMessage' +), +190 => new StructNode([ + "progress" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\LoadingProgressMessage' +), +191 => new StructNode([ + "status" => array('type' => 24, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\ReconnectNotifyMessage' +), +192 => 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' +), +193 => new StructNode([ + "playerId" => array('type' => 1, 'tag' => 0), + "stats" => array('type' => 192, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\PlayerStatsEvent' +), +194 => 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' +), +195 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), + "killerPlayerId" => array('type' => 59, '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' +), +196 => 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' +), +197 => 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' +), +198 => 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' +), +199 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\UnitDoneEvent' +), +200 => new ArrayNode( + new IntegerNode(10, 0), + 84, + 'Rogiel\StarReplay\Event\Tracker\UnitPositions' + +), +201 => new StructNode([ + "firstUnitIndex" => array('type' => 6, 'tag' => 0), + "items" => array('type' => 200, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\UnitPositionsEvent' +), +202 => 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' +), +] +); +Version38535::$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 => 168, + 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 => 166, + 89 => 167, + 90 => 169, + 91 => 170, + 92 => 172, + 93 => 128, + 94 => 173, + 95 => 174, + 96 => 78, + 97 => 175, + 98 => 176, + 99 => 177, + 100 => 178, + 101 => 179, + 102 => 180, + 103 => 182, + 104 => 183, + 105 => 184, + 106 => 136, + 107 => 137, + 108 => 138, + 109 => 185, + 110 => 186, + 111 => 78, + 112 => 187, +]; +Version38535::$MESSAGE_EVENT_MAPPING = [ + 0 => 188, + 1 => 189, + 2 => 190, + 3 => 78, + 4 => 191, +]; +Version38535::$TRACKER_EVENT_MAPPING = [ + 0 => 193, + 1 => 194, + 2 => 195, + 3 => 196, + 4 => 197, + 5 => 198, + 6 => 194, + 7 => 199, + 8 => 201, + 9 => 202, +]; diff --git a/src/Version/Version38624.php b/src/Version/Version38624.php new file mode 100644 index 0000000..c01af3d --- /dev/null +++ b/src/Version/Version38624.php @@ -0,0 +1,1340 @@ +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 + ); + } + +} + +Version38624::$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), + "fixedFileHash" => 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 BitArrayNode( + new IntegerNode(7, 0) +), +56 => 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' => 55, 'tag' => -1), +]), +57 => new ArrayNode( + new IntegerNode(5, 0), + 56 +), +58 => new StructNode([ + "randomValue" => array('type' => 6, 'tag' => -26), + "gameCacheName" => array('type' => 29, 'tag' => -25), + "gameOptions" => array('type' => 49, 'tag' => -24), + "gameSpeed" => array('type' => 12, 'tag' => -23), + "gameType" => array('type' => 12, 'tag' => -22), + "maxUsers" => array('type' => 2, 'tag' => -21), + "maxObservers" => array('type' => 2, 'tag' => -20), + "maxPlayers" => array('type' => 2, 'tag' => -19), + "maxTeams" => array('type' => 50, 'tag' => -18), + "maxColors" => array('type' => 3, 'tag' => -17), + "maxRaces" => array('type' => 51, 'tag' => -16), + "maxControls" => array('type' => 10, 'tag' => -15), + "mapSizeX" => array('type' => 10, 'tag' => -14), + "mapSizeY" => array('type' => 10, 'tag' => -13), + "mapFileSyncChecksum" => array('type' => 6, 'tag' => -12), + "mapFileName" => array('type' => 30, 'tag' => -11), + "mapAuthorName" => array('type' => 9, 'tag' => -10), + "modFileSyncChecksum" => array('type' => 6, 'tag' => -9), + "slotDescriptions" => array('type' => 57, 'tag' => -8), + "defaultDifficulty" => array('type' => 3, 'tag' => -7), + "defaultAIBuild" => array('type' => 0, 'tag' => -6), + "cacheHandles" => array('type' => 36, 'tag' => -5), + "hasExtensionMod" => 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' +), +59 => new OptionalNode(1), +60 => new OptionalNode(2), +61 => new StructNode([ + "color" => array('type' => 60, 'tag' => -1), +]), +62 => new ArrayNode( + new IntegerNode(4, 0), + 46 +), +63 => new ArrayNode( + new IntegerNode(17, 0), + 6 +), +64 => new ArrayNode( + new IntegerNode(9, 0), + 6 +), +65 => new StructNode([ + "control" => array('type' => 10, 'tag' => -22), + "userId" => array('type' => 59, 'tag' => -21), + "teamId" => array('type' => 1, 'tag' => -20), + "colorPref" => array('type' => 61, 'tag' => -19), + "racePref" => array('type' => 44, 'tag' => -18), + "difficulty" => array('type' => 3, 'tag' => -17), + "aiBuild" => array('type' => 0, 'tag' => -16), + "handicap" => array('type' => 0, 'tag' => -15), + "observe" => array('type' => 24, 'tag' => -14), + "logoIndex" => array('type' => 6, 'tag' => -13), + "hero" => array('type' => 46, 'tag' => -12), + "skin" => array('type' => 46, 'tag' => -11), + "mount" => array('type' => 46, 'tag' => -10), + "artifacts" => array('type' => 62, 'tag' => -9), + "workingSetSlotId" => array('type' => 25, 'tag' => -8), + "rewards" => array('type' => 63, 'tag' => -7), + "toonHandle" => array('type' => 20, 'tag' => -6), + "licenses" => array('type' => 64, 'tag' => -5), + "tandemLeaderUserId" => array('type' => 59, 'tag' => -4), + "commander" => array('type' => 46, 'tag' => -3), + "commanderLevel" => array('type' => 6, 'tag' => -2), + "hasSilencePenalty" => array('type' => 13, 'tag' => -1), +]), +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' => 59, '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' => 0, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\LobbyState' +), +68 => new StructNode([ + "userInitialData" => array('type' => 48, 'tag' => -3), + "gameDescription" => array('type' => 58, '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' => 59, 'tag' => -3), + "snapshotUpkeepPlayerId" => array('type' => 59, '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' => 64, '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' => -4), + "unit" => array('type' => 6, '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 IntegerNode(19, 0), +166 => new StructNode([ + "decrementMs" => array('type' => 165, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\DecrementGameTimeRemainingEvent' +), +167 => new StructNode([ + "portraitId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPortraitLoadedEvent' +), +168 => new StructNode([ + "functionName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMovieFunctionEvent' +), +169 => new StructNode([ + "result" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCustomDialogDismissedEvent' +), +170 => new StructNode([ + "gameMenuItemIndex" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerGameMenuItemSelectedEvent' +), +171 => new IntegerNode(16, -32768), +172 => new StructNode([ + "wheelSpin" => array('type' => 171, 'tag' => -2), + "flags" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseWheelEvent' +), +173 => new StructNode([ + "purchaseCategoryId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseCategoryChangedEvent' +), +174 => new StructNode([ + "button" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerButtonPressedEvent' +), +175 => new StructNode([ + "cutsceneId" => array('type' => 84, 'tag' => -2), + "bookmarkName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneBookmarkFiredEvent' +), +176 => new StructNode([ + "cutsceneId" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneEndSceneFiredEvent' +), +177 => 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' +), +178 => new StructNode([ + "cutsceneId" => array('type' => 84, 'tag' => -2), + "conversationLine" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneConversationLineMissingEvent' +), +179 => new StructNode([ + "leaveReason" => array('type' => 1, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameUserLeaveEvent' +), +180 => 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' => 59, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameUserJoinEvent' +), +181 => new OptionalNode(96), +182 => new StructNode([ + "state" => array('type' => 24, 'tag' => -2), + "sequence" => array('type' => 181, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerStateEvent' +), +183 => new StructNode([ + "target" => array('type' => 93, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetPointEvent' +), +184 => new StructNode([ + "target" => array('type' => 94, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetUnitEvent' +), +185 => 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' +), +186 => new StructNode([ + "index" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HeroTalentTreeSelectedEvent' +), +187 => new StructNode([ + "shown" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HeroTalentTreeSelectionPanelToggledEvent' +), +188 => new StructNode([ + "recipient" => array('type' => 12, 'tag' => -2), + "string" => array('type' => 30, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\ChatMessage' +), +189 => new StructNode([ + "recipient" => array('type' => 12, 'tag' => -2), + "point" => array('type' => 85, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\PingMessage' +), +190 => new StructNode([ + "progress" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\LoadingProgressMessage' +), +191 => new StructNode([ + "status" => array('type' => 24, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\ReconnectNotifyMessage' +), +192 => 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' +), +193 => new StructNode([ + "playerId" => array('type' => 1, 'tag' => 0), + "stats" => array('type' => 192, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\PlayerStatsEvent' +), +194 => 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' +), +195 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), + "killerPlayerId" => array('type' => 59, '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' +), +196 => 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' +), +197 => 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' +), +198 => 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' +), +199 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\UnitDoneEvent' +), +200 => new ArrayNode( + new IntegerNode(10, 0), + 84, + 'Rogiel\StarReplay\Event\Tracker\UnitPositions' + +), +201 => new StructNode([ + "firstUnitIndex" => array('type' => 6, 'tag' => 0), + "items" => array('type' => 200, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\UnitPositionsEvent' +), +202 => 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' +), +] +); +Version38624::$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 => 168, + 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 => 166, + 89 => 167, + 90 => 169, + 91 => 170, + 92 => 172, + 93 => 128, + 94 => 173, + 95 => 174, + 96 => 78, + 97 => 175, + 98 => 176, + 99 => 177, + 100 => 178, + 101 => 179, + 102 => 180, + 103 => 182, + 104 => 183, + 105 => 184, + 106 => 136, + 107 => 137, + 108 => 138, + 109 => 185, + 110 => 186, + 111 => 78, + 112 => 187, +]; +Version38624::$MESSAGE_EVENT_MAPPING = [ + 0 => 188, + 1 => 189, + 2 => 190, + 3 => 78, + 4 => 191, +]; +Version38624::$TRACKER_EVENT_MAPPING = [ + 0 => 193, + 1 => 194, + 2 => 195, + 3 => 196, + 4 => 197, + 5 => 198, + 6 => 194, + 7 => 199, + 8 => 201, + 9 => 202, +]; diff --git a/src/Version/Version39117.php b/src/Version/Version39117.php new file mode 100644 index 0000000..9802562 --- /dev/null +++ b/src/Version/Version39117.php @@ -0,0 +1,1342 @@ +getNode(18); + } + + public function getReplayInitDataNode() { + return self::$TREE->getNode(68); + } + + 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 + ); + } + +} + +Version39117::$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), + "fixedFileHash" => 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' => -26), + "gameCacheName" => array('type' => 29, 'tag' => -25), + "gameOptions" => array('type' => 49, 'tag' => -24), + "gameSpeed" => array('type' => 12, 'tag' => -23), + "gameType" => array('type' => 12, 'tag' => -22), + "maxUsers" => array('type' => 2, 'tag' => -21), + "maxObservers" => array('type' => 2, 'tag' => -20), + "maxPlayers" => array('type' => 2, 'tag' => -19), + "maxTeams" => array('type' => 50, 'tag' => -18), + "maxColors" => array('type' => 3, 'tag' => -17), + "maxRaces" => array('type' => 51, 'tag' => -16), + "maxControls" => array('type' => 10, 'tag' => -15), + "mapSizeX" => array('type' => 10, 'tag' => -14), + "mapSizeY" => array('type' => 10, 'tag' => -13), + "mapFileSyncChecksum" => array('type' => 6, 'tag' => -12), + "mapFileName" => array('type' => 30, 'tag' => -11), + "mapAuthorName" => array('type' => 9, 'tag' => -10), + "modFileSyncChecksum" => array('type' => 6, 'tag' => -9), + "slotDescriptions" => array('type' => 56, 'tag' => -8), + "defaultDifficulty" => array('type' => 3, 'tag' => -7), + "defaultAIBuild" => array('type' => 10, 'tag' => -6), + "cacheHandles" => array('type' => 36, 'tag' => -5), + "hasExtensionMod" => 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 StructNode([ + "control" => array('type' => 10, 'tag' => -22), + "userId" => array('type' => 58, 'tag' => -21), + "teamId" => array('type' => 1, 'tag' => -20), + "colorPref" => array('type' => 60, 'tag' => -19), + "racePref" => array('type' => 44, 'tag' => -18), + "difficulty" => array('type' => 3, 'tag' => -17), + "aiBuild" => array('type' => 10, 'tag' => -16), + "handicap" => array('type' => 0, 'tag' => -15), + "observe" => array('type' => 24, 'tag' => -14), + "logoIndex" => array('type' => 6, 'tag' => -13), + "hero" => array('type' => 46, 'tag' => -12), + "skin" => array('type' => 46, 'tag' => -11), + "mount" => array('type' => 46, 'tag' => -10), + "artifacts" => array('type' => 61, 'tag' => -9), + "workingSetSlotId" => array('type' => 25, 'tag' => -8), + "rewards" => array('type' => 62, 'tag' => -7), + "toonHandle" => array('type' => 20, 'tag' => -6), + "licenses" => array('type' => 63, 'tag' => -5), + "tandemLeaderUserId" => array('type' => 58, 'tag' => -4), + "commander" => array('type' => 46, 'tag' => -3), + "commanderLevel" => array('type' => 6, 'tag' => -2), + "hasSilencePenalty" => array('type' => 13, 'tag' => -1), +]), +65 => new ArrayNode( + new IntegerNode(5, 0), + 64 +), +66 => new StructNode([ + "phase" => array('type' => 12, 'tag' => -11), + "maxUsers" => array('type' => 2, 'tag' => -10), + "maxObservers" => array('type' => 2, 'tag' => -9), + "slots" => array('type' => 65, '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' +), +67 => new StructNode([ + "userInitialData" => array('type' => 48, 'tag' => -3), + "gameDescription" => array('type' => 57, 'tag' => -2), + "lobbyState" => array('type' => 66, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\SyncLobbyState' +), +68 => new StructNode([ + "syncLobbyState" => array('type' => 67, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\InitData' +), +69 => new StructNode([ + "name" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankFileEvent' +), +70 => new BlobNode(new IntegerNode(6, 0)), +71 => new StructNode([ + "name" => array('type' => 70, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSectionEvent' +), +72 => new StructNode([ + "name" => array('type' => 70, 'tag' => -3), + "type" => array('type' => 6, 'tag' => -2), + "data" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankKeyEvent' +), +73 => new StructNode([ + "type" => array('type' => 6, 'tag' => -3), + "name" => array('type' => 70, 'tag' => -2), + "data" => array('type' => 34, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankValueEvent' +), +74 => new ArrayNode( + new IntegerNode(5, 0), + 10, + 'Rogiel\StarReplay\Event\Game\Entity\BankSignature' + +), +75 => new StructNode([ + "signature" => array('type' => 74, 'tag' => -2), + "toonHandle" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSignatureEvent' +), +76 => 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' +), +77 => new StructNode([ +], + 'Rogiel\StarReplay\Event\Message\ServerPingMessage' +), +78 => new IntegerNode(16, 0), +79 => new StructNode([ + "x" => array('type' => 78, 'tag' => -2), + "y" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +80 => new StructNode([ + "which" => array('type' => 12, 'tag' => -2), + "target" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraSaveEvent' +), +81 => 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' +), +82 => new StructNode([ + "sequence" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerResetEvent' +), +83 => new IntegerNode(32, -2147483648), +84 => new StructNode([ + "x" => array('type' => 83, 'tag' => -2), + "y" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +85 => new StructNode([ + "point" => array('type' => 84, 'tag' => -4), + "time" => array('type' => 83, 'tag' => -3), + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +]), +86 => new StructNode([ + "data" => array('type' => 85, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameCheatEvent' +), +87 => new IntegerNode(25, 0), +88 => new StructNode([ + "abilLink" => array('type' => 78, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "abilCmdData" => array('type' => 25, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\Ability' +), +89 => new OptionalNode(88), +90 => new NullNode(), +91 => new IntegerNode(20, 0), +92 => new StructNode([ + "x" => array('type' => 91, 'tag' => -3), + "y" => array('type' => 91, 'tag' => -2), + "z" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +93 => new StructNode([ + "targetUnitFlags" => array('type' => 78, 'tag' => -7), + "timer" => array('type' => 10, 'tag' => -6), + "tag" => array('type' => 6, 'tag' => -5), + "snapshotUnitLink" => array('type' => 78, 'tag' => -4), + "snapshotControlPlayerId" => array('type' => 58, 'tag' => -3), + "snapshotUpkeepPlayerId" => array('type' => 58, 'tag' => -2), + "snapshotPoint" => array('type' => 92, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\TargetUnit' +), +94 => new ChoiceNode(new IntegerNode(2), [ + 0 => 90, + 1 => 92, + 2 => 93, + 3 => 6, +]), +95 => new IntegerNode(32, 1), +96 => new StructNode([ + "cmdFlags" => array('type' => 87, 'tag' => -6), + "abil" => array('type' => 89, 'tag' => -5), + "data" => array('type' => 94, 'tag' => -4), + "sequence" => array('type' => 95, 'tag' => -3), + "otherUnit" => array('type' => 43, 'tag' => -2), + "unitGroup" => array('type' => 43, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdEvent' +), +97 => new IntegerNode(9, 0), +98 => new BitArrayNode( + new IntegerNode(9, 0) +, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateMask'), +99 => new ArrayNode( + new IntegerNode(9, 0), + 97, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateZeroIndices' + +), +100 => new ChoiceNode(new IntegerNode(2), [ + 0 => 90, + 1 => 98, + 2 => 99, + 3 => 99, +]), +101 => new StructNode([ + "unitLink" => array('type' => 78, 'tag' => -4), + "subgroupPriority" => array('type' => 10, 'tag' => -3), + "intraSubgroupPriority" => array('type' => 10, 'tag' => -2), + "count" => array('type' => 97, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SubgroupUnit' +), +102 => new ArrayNode( + new IntegerNode(9, 0), + 101 +), +103 => new StructNode([ + "subgroupIndex" => array('type' => 97, 'tag' => -4), + "removeMask" => array('type' => 100, 'tag' => -3), + "addSubgroups" => array('type' => 102, 'tag' => -2), + "addUnitTags" => array('type' => 63, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SelectionDelta' +), +104 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "delta" => array('type' => 103, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionDeltaEvent' +), +105 => new StructNode([ + "controlGroupIndex" => array('type' => 1, 'tag' => -3), + "controlGroupUpdate" => array('type' => 12, 'tag' => -2), + "mask" => array('type' => 100, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ControlGroupUpdateEvent' +), +106 => new StructNode([ + "count" => array('type' => 97, 'tag' => -6), + "subgroupCount" => array('type' => 97, 'tag' => -5), + "activeSubgroupIndex" => array('type' => 97, 'tag' => -4), + "unitTagsChecksum" => array('type' => 6, 'tag' => -3), + "subgroupIndicesChecksum" => array('type' => 6, 'tag' => -2), + "subgroupsChecksum" => array('type' => 6, 'tag' => -1), +]), +107 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "selectionSyncData" => array('type' => 106, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionSyncCheckEvent' +), +108 => new ArrayNode( + new IntegerNode(3, 0), + 83, + 'Rogiel\StarReplay\Event\Game\Entity\ResourceRequest' + +), +109 => new StructNode([ + "recipientId" => array('type' => 1, 'tag' => -2), + "resources" => array('type' => 108, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceTradeEvent' +), +110 => new StructNode([ + "chatMessage" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerChatMessageEvent' +), +111 => new IntegerNode(8, -128), +112 => new StructNode([ + "x" => array('type' => 83, 'tag' => -3), + "y" => array('type' => 83, 'tag' => -2), + "z" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +113 => new StructNode([ + "beacon" => array('type' => 111, 'tag' => -9), + "ally" => array('type' => 111, 'tag' => -8), + "flags" => array('type' => 111, 'tag' => -7), + "build" => array('type' => 111, 'tag' => -6), + "targetUnitTag" => array('type' => 6, 'tag' => -5), + "targetUnitSnapshotUnitLink" => array('type' => 78, 'tag' => -4), + "targetUnitSnapshotUpkeepPlayerId" => array('type' => 111, 'tag' => -3), + "targetUnitSnapshotControlPlayerId" => array('type' => 111, 'tag' => -2), + "targetPoint" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AICommunicateEvent' +), +114 => new StructNode([ + "speed" => array('type' => 12, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SetAbsoluteGameSpeedEvent' +), +115 => new StructNode([ + "delta" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AddAbsoluteGameSpeedEvent' +), +116 => new StructNode([ + "point" => array('type' => 84, 'tag' => -9), + "unit" => array('type' => 6, 'tag' => -8), + "unitLink" => array('type' => 78, 'tag' => -7), + "unitControlPlayerId" => array('type' => 58, 'tag' => -6), + "unitUpkeepPlayerId" => array('type' => 58, 'tag' => -5), + "unitPosition" => array('type' => 92, 'tag' => -4), + "unitIsUnderConstruction" => array('type' => 13, 'tag' => -3), + "pingedMinimap" => array('type' => 13, 'tag' => -2), + "option" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPingEvent' +), +117 => new StructNode([ + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BroadcastCheatEvent' +), +118 => new StructNode([ + "alliance" => array('type' => 6, 'tag' => -2), + "control" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AllianceEvent' +), +119 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitClickEvent' +), +120 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -2), + "flags" => array('type' => 10, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitHighlightEvent' +), +121 => new StructNode([ + "conversationId" => array('type' => 83, 'tag' => -2), + "replyId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerReplySelectedEvent' +), +122 => new OptionalNode(20), +123 => new StructNode([ + "gameUserId" => array('type' => 1, 'tag' => -6), + "observe" => array('type' => 24, 'tag' => -5), + "name" => array('type' => 9, 'tag' => -4), + "toonHandle" => array('type' => 122, 'tag' => -3), + "clanTag" => array('type' => 41, 'tag' => -2), + "clanLogo" => array('type' => 42, 'tag' => -1), +]), +124 => new ArrayNode( + new IntegerNode(5, 0), + 123 +), +125 => new IntegerNode(1, 0), +126 => new StructNode([ + "userInfos" => array('type' => 124, 'tag' => -2), + "method" => array('type' => 125, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HijackReplayGameEvent' +), +127 => new StructNode([ + "purchaseItemId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseItemChangedEvent' +), +128 => new StructNode([ + "difficultyLevel" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerVictoryPanelPlayMissionAgainEvent' +), +129 => new ChoiceNode(new IntegerNode(3), [ + 0 => 90, + 1 => 13, + 2 => 6, + 3 => 83, + 4 => 30, + 5 => 6, +]), +130 => new StructNode([ + "controlId" => array('type' => 83, 'tag' => -3), + "eventType" => array('type' => 83, 'tag' => -2), + "eventData" => array('type' => 129, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerDialogControlEvent' +), +131 => new StructNode([ + "soundHash" => array('type' => 6, 'tag' => -2), + "length" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthQueryEvent' +), +132 => new ArrayNode( + new IntegerNode(7, 0), + 6 +), +133 => new StructNode([ + "soundHash" => array('type' => 132, 'tag' => -2), + "length" => array('type' => 132, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SoundLengthSync' +), +134 => new StructNode([ + "syncInfo" => array('type' => 133, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthSyncEvent' +), +135 => new StructNode([ + "queryId" => array('type' => 78, 'tag' => -3), + "lengthMs" => array('type' => 6, 'tag' => -2), + "finishGameLoop" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByNameEvent' +), +136 => new StructNode([ + "queryId" => array('type' => 78, 'tag' => -2), + "lengthMs" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByPropsEvent' +), +137 => new StructNode([ + "animWaitQueryId" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimOffsetEvent' +), +138 => new StructNode([ + "sound" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundOffsetEvent' +), +139 => new StructNode([ + "transmissionId" => array('type' => 83, 'tag' => -2), + "thread" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionOffsetEvent' +), +140 => new StructNode([ + "transmissionId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionCompleteEvent' +), +141 => new OptionalNode(79), +142 => new OptionalNode(78), +143 => new OptionalNode(111), +144 => new StructNode([ + "target" => array('type' => 141, 'tag' => -6), + "distance" => array('type' => 142, 'tag' => -5), + "pitch" => array('type' => 142, 'tag' => -4), + "yaw" => array('type' => 142, 'tag' => -3), + "reason" => array('type' => 143, 'tag' => -2), + "follow" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraUpdateEvent' +), +145 => new StructNode([ + "skipType" => array('type' => 125, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerConversationSkippedEvent' +), +146 => new IntegerNode(11, 0), +147 => new StructNode([ + "x" => array('type' => 146, 'tag' => -2), + "y" => array('type' => 146, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +148 => new StructNode([ + "button" => array('type' => 6, 'tag' => -5), + "down" => array('type' => 13, 'tag' => -4), + "posUI" => array('type' => 147, 'tag' => -3), + "posWorld" => array('type' => 92, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseClickedEvent' +), +149 => new StructNode([ + "posUI" => array('type' => 147, 'tag' => -3), + "posWorld" => array('type' => 92, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseMovedEvent' +), +150 => new StructNode([ + "achievementLink" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AchievementAwardedEvent' +), +151 => new StructNode([ + "hotkey" => array('type' => 6, 'tag' => -2), + "down" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerHotkeyPressedEvent' +), +152 => new StructNode([ + "abilLink" => array('type' => 78, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "state" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTargetModeUpdateEvent' +), +153 => new StructNode([ + "soundtrack" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundtrackDoneEvent' +), +154 => new StructNode([ + "planetId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPlanetMissionSelectedEvent' +), +155 => new StructNode([ + "key" => array('type' => 111, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerKeyPressedEvent' +), +156 => new StructNode([ + "resources" => array('type' => 108, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestEvent' +), +157 => new StructNode([ + "fulfillRequestId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestFulfillEvent' +), +158 => new StructNode([ + "cancelRequestId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestCancelEvent' +), +159 => new StructNode([ + "error" => array('type' => 83, 'tag' => -2), + "abil" => array('type' => 89, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCommandErrorEvent' +), +160 => new StructNode([ + "researchItemId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerResearchPanelSelectionChangedEvent' +), +161 => new StructNode([ + "mercenaryId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMercenaryPanelSelectionChangedEvent' +), +162 => new StructNode([ + "battleReportId" => array('type' => 83, 'tag' => -2), + "difficultyLevel" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelPlayMissionEvent' +), +163 => new StructNode([ + "battleReportId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelSelectionChangedEvent' +), +164 => new IntegerNode(19, 0), +165 => new StructNode([ + "decrementMs" => array('type' => 164, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\DecrementGameTimeRemainingEvent' +), +166 => new StructNode([ + "portraitId" => array('type' => 83, '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' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCustomDialogDismissedEvent' +), +169 => new StructNode([ + "gameMenuItemIndex" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerGameMenuItemSelectedEvent' +), +170 => new IntegerNode(16, -32768), +171 => new StructNode([ + "wheelSpin" => array('type' => 170, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseWheelEvent' +), +172 => new StructNode([ + "purchaseCategoryId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseCategoryChangedEvent' +), +173 => new StructNode([ + "button" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerButtonPressedEvent' +), +174 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -2), + "bookmarkName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneBookmarkFiredEvent' +), +175 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneEndSceneFiredEvent' +), +176 => new StructNode([ + "cutsceneId" => array('type' => 83, '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' => 83, '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' => 122, '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(95), +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' => 92, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetPointEvent' +), +183 => new StructNode([ + "target" => array('type' => 93, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetUnitEvent' +), +184 => new StructNode([ + "catalog" => array('type' => 10, 'tag' => -4), + "entry" => array('type' => 78, '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' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\PingMessage' +), +189 => new StructNode([ + "progress" => array('type' => 83, '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' => 83, 'tag' => 0), + "scoreValueVespeneCurrent" => array('type' => 83, 'tag' => 1), + "scoreValueMineralsCollectionRate" => array('type' => 83, 'tag' => 2), + "scoreValueVespeneCollectionRate" => array('type' => 83, 'tag' => 3), + "scoreValueWorkersActiveCount" => array('type' => 83, 'tag' => 4), + "scoreValueMineralsUsedInProgressArmy" => array('type' => 83, 'tag' => 5), + "scoreValueMineralsUsedInProgressEconomy" => array('type' => 83, 'tag' => 6), + "scoreValueMineralsUsedInProgressTechnology" => array('type' => 83, 'tag' => 7), + "scoreValueVespeneUsedInProgressArmy" => array('type' => 83, 'tag' => 8), + "scoreValueVespeneUsedInProgressEconomy" => array('type' => 83, 'tag' => 9), + "scoreValueVespeneUsedInProgressTechnology" => array('type' => 83, 'tag' => 10), + "scoreValueMineralsUsedCurrentArmy" => array('type' => 83, 'tag' => 11), + "scoreValueMineralsUsedCurrentEconomy" => array('type' => 83, 'tag' => 12), + "scoreValueMineralsUsedCurrentTechnology" => array('type' => 83, 'tag' => 13), + "scoreValueVespeneUsedCurrentArmy" => array('type' => 83, 'tag' => 14), + "scoreValueVespeneUsedCurrentEconomy" => array('type' => 83, 'tag' => 15), + "scoreValueVespeneUsedCurrentTechnology" => array('type' => 83, 'tag' => 16), + "scoreValueMineralsLostArmy" => array('type' => 83, 'tag' => 17), + "scoreValueMineralsLostEconomy" => array('type' => 83, 'tag' => 18), + "scoreValueMineralsLostTechnology" => array('type' => 83, 'tag' => 19), + "scoreValueVespeneLostArmy" => array('type' => 83, 'tag' => 20), + "scoreValueVespeneLostEconomy" => array('type' => 83, 'tag' => 21), + "scoreValueVespeneLostTechnology" => array('type' => 83, 'tag' => 22), + "scoreValueMineralsKilledArmy" => array('type' => 83, 'tag' => 23), + "scoreValueMineralsKilledEconomy" => array('type' => 83, 'tag' => 24), + "scoreValueMineralsKilledTechnology" => array('type' => 83, 'tag' => 25), + "scoreValueVespeneKilledArmy" => array('type' => 83, 'tag' => 26), + "scoreValueVespeneKilledEconomy" => array('type' => 83, 'tag' => 27), + "scoreValueVespeneKilledTechnology" => array('type' => 83, 'tag' => 28), + "scoreValueFoodUsed" => array('type' => 83, 'tag' => 29), + "scoreValueFoodMade" => array('type' => 83, 'tag' => 30), + "scoreValueMineralsUsedActiveForces" => array('type' => 83, 'tag' => 31), + "scoreValueVespeneUsedActiveForces" => array('type' => 83, 'tag' => 32), + "scoreValueMineralsFriendlyFireArmy" => array('type' => 83, 'tag' => 33), + "scoreValueMineralsFriendlyFireEconomy" => array('type' => 83, 'tag' => 34), + "scoreValueMineralsFriendlyFireTechnology" => array('type' => 83, 'tag' => 35), + "scoreValueVespeneFriendlyFireArmy" => array('type' => 83, 'tag' => 36), + "scoreValueVespeneFriendlyFireEconomy" => array('type' => 83, 'tag' => 37), + "scoreValueVespeneFriendlyFireTechnology" => array('type' => 83, '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' => 83, '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), + 83, + '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' +), +] +); +Version39117::$GAME_EVENT_MAPPING = [ + 5 => 77, + 7 => 76, + 9 => 69, + 10 => 71, + 11 => 72, + 12 => 73, + 13 => 75, + 14 => 80, + 21 => 81, + 22 => 77, + 23 => 77, + 25 => 82, + 26 => 86, + 27 => 96, + 28 => 104, + 29 => 105, + 30 => 107, + 31 => 109, + 32 => 110, + 33 => 113, + 34 => 114, + 35 => 115, + 36 => 116, + 37 => 117, + 38 => 118, + 39 => 119, + 40 => 120, + 41 => 121, + 43 => 126, + 44 => 77, + 45 => 131, + 46 => 138, + 47 => 139, + 48 => 140, + 49 => 144, + 50 => 77, + 51 => 127, + 52 => 77, + 53 => 128, + 54 => 77, + 55 => 130, + 56 => 134, + 57 => 145, + 58 => 148, + 59 => 149, + 60 => 150, + 61 => 151, + 62 => 152, + 63 => 77, + 64 => 153, + 65 => 154, + 66 => 155, + 67 => 167, + 68 => 77, + 69 => 77, + 70 => 156, + 71 => 157, + 72 => 158, + 73 => 77, + 74 => 77, + 75 => 160, + 76 => 159, + 77 => 77, + 78 => 77, + 79 => 161, + 80 => 77, + 81 => 77, + 82 => 162, + 83 => 163, + 84 => 163, + 85 => 128, + 86 => 77, + 87 => 77, + 88 => 165, + 89 => 166, + 90 => 168, + 91 => 169, + 92 => 171, + 93 => 127, + 94 => 172, + 95 => 173, + 96 => 77, + 97 => 174, + 98 => 175, + 99 => 176, + 100 => 177, + 101 => 178, + 102 => 179, + 103 => 181, + 104 => 182, + 105 => 183, + 106 => 135, + 107 => 136, + 108 => 137, + 109 => 184, + 110 => 185, + 111 => 77, + 112 => 186, +]; +Version39117::$MESSAGE_EVENT_MAPPING = [ + 0 => 187, + 1 => 188, + 2 => 189, + 3 => 77, + 4 => 190, +]; +Version39117::$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/Version39948.php b/src/Version/Version39948.php new file mode 100644 index 0000000..cc49a5a --- /dev/null +++ b/src/Version/Version39948.php @@ -0,0 +1,1343 @@ +getNode(18); + } + + public function getReplayInitDataNode() { + return self::$TREE->getNode(68); + } + + 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 + ); + } + +} + +Version39948::$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), + "fixedFileHash" => 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' => -26), + "gameCacheName" => array('type' => 29, 'tag' => -25), + "gameOptions" => array('type' => 49, 'tag' => -24), + "gameSpeed" => array('type' => 12, 'tag' => -23), + "gameType" => array('type' => 12, 'tag' => -22), + "maxUsers" => array('type' => 2, 'tag' => -21), + "maxObservers" => array('type' => 2, 'tag' => -20), + "maxPlayers" => array('type' => 2, 'tag' => -19), + "maxTeams" => array('type' => 50, 'tag' => -18), + "maxColors" => array('type' => 3, 'tag' => -17), + "maxRaces" => array('type' => 51, 'tag' => -16), + "maxControls" => array('type' => 10, 'tag' => -15), + "mapSizeX" => array('type' => 10, 'tag' => -14), + "mapSizeY" => array('type' => 10, 'tag' => -13), + "mapFileSyncChecksum" => array('type' => 6, 'tag' => -12), + "mapFileName" => array('type' => 30, 'tag' => -11), + "mapAuthorName" => array('type' => 9, 'tag' => -10), + "modFileSyncChecksum" => array('type' => 6, 'tag' => -9), + "slotDescriptions" => array('type' => 56, 'tag' => -8), + "defaultDifficulty" => array('type' => 3, 'tag' => -7), + "defaultAIBuild" => array('type' => 10, 'tag' => -6), + "cacheHandles" => array('type' => 36, 'tag' => -5), + "hasExtensionMod" => 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 StructNode([ + "control" => array('type' => 10, 'tag' => -23), + "userId" => array('type' => 58, 'tag' => -22), + "teamId" => array('type' => 1, 'tag' => -21), + "colorPref" => array('type' => 60, 'tag' => -20), + "racePref" => array('type' => 44, 'tag' => -19), + "difficulty" => array('type' => 3, 'tag' => -18), + "aiBuild" => array('type' => 10, 'tag' => -17), + "handicap" => array('type' => 0, 'tag' => -16), + "observe" => array('type' => 24, 'tag' => -15), + "logoIndex" => array('type' => 6, 'tag' => -14), + "hero" => array('type' => 46, 'tag' => -13), + "skin" => array('type' => 46, 'tag' => -12), + "mount" => array('type' => 46, 'tag' => -11), + "artifacts" => array('type' => 61, 'tag' => -10), + "workingSetSlotId" => array('type' => 25, 'tag' => -9), + "rewards" => array('type' => 62, 'tag' => -8), + "toonHandle" => array('type' => 20, 'tag' => -7), + "licenses" => array('type' => 63, 'tag' => -6), + "tandemLeaderId" => array('type' => 58, 'tag' => -5), + "commander" => array('type' => 46, 'tag' => -4), + "commanderLevel" => array('type' => 6, 'tag' => -3), + "hasSilencePenalty" => array('type' => 13, 'tag' => -2), + "tandemId" => array('type' => 58, 'tag' => -1), +]), +65 => new ArrayNode( + new IntegerNode(5, 0), + 64 +), +66 => new StructNode([ + "phase" => array('type' => 12, 'tag' => -11), + "maxUsers" => array('type' => 2, 'tag' => -10), + "maxObservers" => array('type' => 2, 'tag' => -9), + "slots" => array('type' => 65, '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' +), +67 => new StructNode([ + "userInitialData" => array('type' => 48, 'tag' => -3), + "gameDescription" => array('type' => 57, 'tag' => -2), + "lobbyState" => array('type' => 66, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\SyncLobbyState' +), +68 => new StructNode([ + "syncLobbyState" => array('type' => 67, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\InitData' +), +69 => new StructNode([ + "name" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankFileEvent' +), +70 => new BlobNode(new IntegerNode(6, 0)), +71 => new StructNode([ + "name" => array('type' => 70, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSectionEvent' +), +72 => new StructNode([ + "name" => array('type' => 70, 'tag' => -3), + "type" => array('type' => 6, 'tag' => -2), + "data" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankKeyEvent' +), +73 => new StructNode([ + "type" => array('type' => 6, 'tag' => -3), + "name" => array('type' => 70, 'tag' => -2), + "data" => array('type' => 34, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankValueEvent' +), +74 => new ArrayNode( + new IntegerNode(5, 0), + 10, + 'Rogiel\StarReplay\Event\Game\Entity\BankSignature' + +), +75 => new StructNode([ + "signature" => array('type' => 74, 'tag' => -2), + "toonHandle" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSignatureEvent' +), +76 => 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' +), +77 => new StructNode([ +], + 'Rogiel\StarReplay\Event\Message\ServerPingMessage' +), +78 => new IntegerNode(16, 0), +79 => new StructNode([ + "x" => array('type' => 78, 'tag' => -2), + "y" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +80 => new StructNode([ + "which" => array('type' => 12, 'tag' => -2), + "target" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraSaveEvent' +), +81 => 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' +), +82 => new StructNode([ + "sequence" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerResetEvent' +), +83 => new IntegerNode(32, -2147483648), +84 => new StructNode([ + "x" => array('type' => 83, 'tag' => -2), + "y" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +85 => new StructNode([ + "point" => array('type' => 84, 'tag' => -4), + "time" => array('type' => 83, 'tag' => -3), + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +]), +86 => new StructNode([ + "data" => array('type' => 85, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameCheatEvent' +), +87 => new IntegerNode(25, 0), +88 => new StructNode([ + "abilLink" => array('type' => 78, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "abilCmdData" => array('type' => 25, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\Ability' +), +89 => new OptionalNode(88), +90 => new NullNode(), +91 => new IntegerNode(20, 0), +92 => new StructNode([ + "x" => array('type' => 91, 'tag' => -3), + "y" => array('type' => 91, 'tag' => -2), + "z" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +93 => new StructNode([ + "targetUnitFlags" => array('type' => 78, 'tag' => -7), + "timer" => array('type' => 10, 'tag' => -6), + "tag" => array('type' => 6, 'tag' => -5), + "snapshotUnitLink" => array('type' => 78, 'tag' => -4), + "snapshotControlPlayerId" => array('type' => 58, 'tag' => -3), + "snapshotUpkeepPlayerId" => array('type' => 58, 'tag' => -2), + "snapshotPoint" => array('type' => 92, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\TargetUnit' +), +94 => new ChoiceNode(new IntegerNode(2), [ + 0 => 90, + 1 => 92, + 2 => 93, + 3 => 6, +]), +95 => new IntegerNode(32, 1), +96 => new StructNode([ + "cmdFlags" => array('type' => 87, 'tag' => -6), + "abil" => array('type' => 89, 'tag' => -5), + "data" => array('type' => 94, 'tag' => -4), + "sequence" => array('type' => 95, 'tag' => -3), + "otherUnit" => array('type' => 43, 'tag' => -2), + "unitGroup" => array('type' => 43, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdEvent' +), +97 => new IntegerNode(9, 0), +98 => new BitArrayNode( + new IntegerNode(9, 0) +, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateMask'), +99 => new ArrayNode( + new IntegerNode(9, 0), + 97, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateZeroIndices' + +), +100 => new ChoiceNode(new IntegerNode(2), [ + 0 => 90, + 1 => 98, + 2 => 99, + 3 => 99, +]), +101 => new StructNode([ + "unitLink" => array('type' => 78, 'tag' => -4), + "subgroupPriority" => array('type' => 10, 'tag' => -3), + "intraSubgroupPriority" => array('type' => 10, 'tag' => -2), + "count" => array('type' => 97, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SubgroupUnit' +), +102 => new ArrayNode( + new IntegerNode(9, 0), + 101 +), +103 => new StructNode([ + "subgroupIndex" => array('type' => 97, 'tag' => -4), + "removeMask" => array('type' => 100, 'tag' => -3), + "addSubgroups" => array('type' => 102, 'tag' => -2), + "addUnitTags" => array('type' => 63, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SelectionDelta' +), +104 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "delta" => array('type' => 103, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionDeltaEvent' +), +105 => new StructNode([ + "controlGroupIndex" => array('type' => 1, 'tag' => -3), + "controlGroupUpdate" => array('type' => 12, 'tag' => -2), + "mask" => array('type' => 100, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ControlGroupUpdateEvent' +), +106 => new StructNode([ + "count" => array('type' => 97, 'tag' => -6), + "subgroupCount" => array('type' => 97, 'tag' => -5), + "activeSubgroupIndex" => array('type' => 97, 'tag' => -4), + "unitTagsChecksum" => array('type' => 6, 'tag' => -3), + "subgroupIndicesChecksum" => array('type' => 6, 'tag' => -2), + "subgroupsChecksum" => array('type' => 6, 'tag' => -1), +]), +107 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "selectionSyncData" => array('type' => 106, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionSyncCheckEvent' +), +108 => new ArrayNode( + new IntegerNode(3, 0), + 83, + 'Rogiel\StarReplay\Event\Game\Entity\ResourceRequest' + +), +109 => new StructNode([ + "recipientId" => array('type' => 1, 'tag' => -2), + "resources" => array('type' => 108, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceTradeEvent' +), +110 => new StructNode([ + "chatMessage" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerChatMessageEvent' +), +111 => new IntegerNode(8, -128), +112 => new StructNode([ + "x" => array('type' => 83, 'tag' => -3), + "y" => array('type' => 83, 'tag' => -2), + "z" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +113 => new StructNode([ + "beacon" => array('type' => 111, 'tag' => -9), + "ally" => array('type' => 111, 'tag' => -8), + "flags" => array('type' => 111, 'tag' => -7), + "build" => array('type' => 111, 'tag' => -6), + "targetUnitTag" => array('type' => 6, 'tag' => -5), + "targetUnitSnapshotUnitLink" => array('type' => 78, 'tag' => -4), + "targetUnitSnapshotUpkeepPlayerId" => array('type' => 111, 'tag' => -3), + "targetUnitSnapshotControlPlayerId" => array('type' => 111, 'tag' => -2), + "targetPoint" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AICommunicateEvent' +), +114 => new StructNode([ + "speed" => array('type' => 12, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SetAbsoluteGameSpeedEvent' +), +115 => new StructNode([ + "delta" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AddAbsoluteGameSpeedEvent' +), +116 => new StructNode([ + "point" => array('type' => 84, 'tag' => -9), + "unit" => array('type' => 6, 'tag' => -8), + "unitLink" => array('type' => 78, 'tag' => -7), + "unitControlPlayerId" => array('type' => 58, 'tag' => -6), + "unitUpkeepPlayerId" => array('type' => 58, 'tag' => -5), + "unitPosition" => array('type' => 92, 'tag' => -4), + "unitIsUnderConstruction" => array('type' => 13, 'tag' => -3), + "pingedMinimap" => array('type' => 13, 'tag' => -2), + "option" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPingEvent' +), +117 => new StructNode([ + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BroadcastCheatEvent' +), +118 => new StructNode([ + "alliance" => array('type' => 6, 'tag' => -2), + "control" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AllianceEvent' +), +119 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitClickEvent' +), +120 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -2), + "flags" => array('type' => 10, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitHighlightEvent' +), +121 => new StructNode([ + "conversationId" => array('type' => 83, 'tag' => -2), + "replyId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerReplySelectedEvent' +), +122 => new OptionalNode(20), +123 => new StructNode([ + "gameUserId" => array('type' => 1, 'tag' => -6), + "observe" => array('type' => 24, 'tag' => -5), + "name" => array('type' => 9, 'tag' => -4), + "toonHandle" => array('type' => 122, 'tag' => -3), + "clanTag" => array('type' => 41, 'tag' => -2), + "clanLogo" => array('type' => 42, 'tag' => -1), +]), +124 => new ArrayNode( + new IntegerNode(5, 0), + 123 +), +125 => new IntegerNode(1, 0), +126 => new StructNode([ + "userInfos" => array('type' => 124, 'tag' => -2), + "method" => array('type' => 125, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HijackReplayGameEvent' +), +127 => new StructNode([ + "purchaseItemId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseItemChangedEvent' +), +128 => new StructNode([ + "difficultyLevel" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerVictoryPanelPlayMissionAgainEvent' +), +129 => new ChoiceNode(new IntegerNode(3), [ + 0 => 90, + 1 => 13, + 2 => 6, + 3 => 83, + 4 => 30, + 5 => 6, +]), +130 => new StructNode([ + "controlId" => array('type' => 83, 'tag' => -3), + "eventType" => array('type' => 83, 'tag' => -2), + "eventData" => array('type' => 129, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerDialogControlEvent' +), +131 => new StructNode([ + "soundHash" => array('type' => 6, 'tag' => -2), + "length" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthQueryEvent' +), +132 => new ArrayNode( + new IntegerNode(7, 0), + 6 +), +133 => new StructNode([ + "soundHash" => array('type' => 132, 'tag' => -2), + "length" => array('type' => 132, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SoundLengthSync' +), +134 => new StructNode([ + "syncInfo" => array('type' => 133, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthSyncEvent' +), +135 => new StructNode([ + "queryId" => array('type' => 78, 'tag' => -3), + "lengthMs" => array('type' => 6, 'tag' => -2), + "finishGameLoop" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByNameEvent' +), +136 => new StructNode([ + "queryId" => array('type' => 78, 'tag' => -2), + "lengthMs" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByPropsEvent' +), +137 => new StructNode([ + "animWaitQueryId" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimOffsetEvent' +), +138 => new StructNode([ + "sound" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundOffsetEvent' +), +139 => new StructNode([ + "transmissionId" => array('type' => 83, 'tag' => -2), + "thread" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionOffsetEvent' +), +140 => new StructNode([ + "transmissionId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionCompleteEvent' +), +141 => new OptionalNode(79), +142 => new OptionalNode(78), +143 => new OptionalNode(111), +144 => new StructNode([ + "target" => array('type' => 141, 'tag' => -6), + "distance" => array('type' => 142, 'tag' => -5), + "pitch" => array('type' => 142, 'tag' => -4), + "yaw" => array('type' => 142, 'tag' => -3), + "reason" => array('type' => 143, 'tag' => -2), + "follow" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraUpdateEvent' +), +145 => new StructNode([ + "skipType" => array('type' => 125, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerConversationSkippedEvent' +), +146 => new IntegerNode(11, 0), +147 => new StructNode([ + "x" => array('type' => 146, 'tag' => -2), + "y" => array('type' => 146, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +148 => new StructNode([ + "button" => array('type' => 6, 'tag' => -5), + "down" => array('type' => 13, 'tag' => -4), + "posUI" => array('type' => 147, 'tag' => -3), + "posWorld" => array('type' => 92, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseClickedEvent' +), +149 => new StructNode([ + "posUI" => array('type' => 147, 'tag' => -3), + "posWorld" => array('type' => 92, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseMovedEvent' +), +150 => new StructNode([ + "achievementLink" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AchievementAwardedEvent' +), +151 => new StructNode([ + "hotkey" => array('type' => 6, 'tag' => -2), + "down" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerHotkeyPressedEvent' +), +152 => new StructNode([ + "abilLink" => array('type' => 78, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "state" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTargetModeUpdateEvent' +), +153 => new StructNode([ + "soundtrack" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundtrackDoneEvent' +), +154 => new StructNode([ + "planetId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPlanetMissionSelectedEvent' +), +155 => new StructNode([ + "key" => array('type' => 111, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerKeyPressedEvent' +), +156 => new StructNode([ + "resources" => array('type' => 108, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestEvent' +), +157 => new StructNode([ + "fulfillRequestId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestFulfillEvent' +), +158 => new StructNode([ + "cancelRequestId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestCancelEvent' +), +159 => new StructNode([ + "error" => array('type' => 83, 'tag' => -2), + "abil" => array('type' => 89, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCommandErrorEvent' +), +160 => new StructNode([ + "researchItemId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerResearchPanelSelectionChangedEvent' +), +161 => new StructNode([ + "mercenaryId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMercenaryPanelSelectionChangedEvent' +), +162 => new StructNode([ + "battleReportId" => array('type' => 83, 'tag' => -2), + "difficultyLevel" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelPlayMissionEvent' +), +163 => new StructNode([ + "battleReportId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelSelectionChangedEvent' +), +164 => new IntegerNode(19, 0), +165 => new StructNode([ + "decrementMs" => array('type' => 164, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\DecrementGameTimeRemainingEvent' +), +166 => new StructNode([ + "portraitId" => array('type' => 83, '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' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCustomDialogDismissedEvent' +), +169 => new StructNode([ + "gameMenuItemIndex" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerGameMenuItemSelectedEvent' +), +170 => new IntegerNode(16, -32768), +171 => new StructNode([ + "wheelSpin" => array('type' => 170, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseWheelEvent' +), +172 => new StructNode([ + "purchaseCategoryId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseCategoryChangedEvent' +), +173 => new StructNode([ + "button" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerButtonPressedEvent' +), +174 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -2), + "bookmarkName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneBookmarkFiredEvent' +), +175 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneEndSceneFiredEvent' +), +176 => new StructNode([ + "cutsceneId" => array('type' => 83, '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' => 83, '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' => 122, '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(95), +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' => 92, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetPointEvent' +), +183 => new StructNode([ + "target" => array('type' => 93, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetUnitEvent' +), +184 => new StructNode([ + "catalog" => array('type' => 10, 'tag' => -4), + "entry" => array('type' => 78, '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' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\PingMessage' +), +189 => new StructNode([ + "progress" => array('type' => 83, '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' => 83, 'tag' => 0), + "scoreValueVespeneCurrent" => array('type' => 83, 'tag' => 1), + "scoreValueMineralsCollectionRate" => array('type' => 83, 'tag' => 2), + "scoreValueVespeneCollectionRate" => array('type' => 83, 'tag' => 3), + "scoreValueWorkersActiveCount" => array('type' => 83, 'tag' => 4), + "scoreValueMineralsUsedInProgressArmy" => array('type' => 83, 'tag' => 5), + "scoreValueMineralsUsedInProgressEconomy" => array('type' => 83, 'tag' => 6), + "scoreValueMineralsUsedInProgressTechnology" => array('type' => 83, 'tag' => 7), + "scoreValueVespeneUsedInProgressArmy" => array('type' => 83, 'tag' => 8), + "scoreValueVespeneUsedInProgressEconomy" => array('type' => 83, 'tag' => 9), + "scoreValueVespeneUsedInProgressTechnology" => array('type' => 83, 'tag' => 10), + "scoreValueMineralsUsedCurrentArmy" => array('type' => 83, 'tag' => 11), + "scoreValueMineralsUsedCurrentEconomy" => array('type' => 83, 'tag' => 12), + "scoreValueMineralsUsedCurrentTechnology" => array('type' => 83, 'tag' => 13), + "scoreValueVespeneUsedCurrentArmy" => array('type' => 83, 'tag' => 14), + "scoreValueVespeneUsedCurrentEconomy" => array('type' => 83, 'tag' => 15), + "scoreValueVespeneUsedCurrentTechnology" => array('type' => 83, 'tag' => 16), + "scoreValueMineralsLostArmy" => array('type' => 83, 'tag' => 17), + "scoreValueMineralsLostEconomy" => array('type' => 83, 'tag' => 18), + "scoreValueMineralsLostTechnology" => array('type' => 83, 'tag' => 19), + "scoreValueVespeneLostArmy" => array('type' => 83, 'tag' => 20), + "scoreValueVespeneLostEconomy" => array('type' => 83, 'tag' => 21), + "scoreValueVespeneLostTechnology" => array('type' => 83, 'tag' => 22), + "scoreValueMineralsKilledArmy" => array('type' => 83, 'tag' => 23), + "scoreValueMineralsKilledEconomy" => array('type' => 83, 'tag' => 24), + "scoreValueMineralsKilledTechnology" => array('type' => 83, 'tag' => 25), + "scoreValueVespeneKilledArmy" => array('type' => 83, 'tag' => 26), + "scoreValueVespeneKilledEconomy" => array('type' => 83, 'tag' => 27), + "scoreValueVespeneKilledTechnology" => array('type' => 83, 'tag' => 28), + "scoreValueFoodUsed" => array('type' => 83, 'tag' => 29), + "scoreValueFoodMade" => array('type' => 83, 'tag' => 30), + "scoreValueMineralsUsedActiveForces" => array('type' => 83, 'tag' => 31), + "scoreValueVespeneUsedActiveForces" => array('type' => 83, 'tag' => 32), + "scoreValueMineralsFriendlyFireArmy" => array('type' => 83, 'tag' => 33), + "scoreValueMineralsFriendlyFireEconomy" => array('type' => 83, 'tag' => 34), + "scoreValueMineralsFriendlyFireTechnology" => array('type' => 83, 'tag' => 35), + "scoreValueVespeneFriendlyFireArmy" => array('type' => 83, 'tag' => 36), + "scoreValueVespeneFriendlyFireEconomy" => array('type' => 83, 'tag' => 37), + "scoreValueVespeneFriendlyFireTechnology" => array('type' => 83, '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' => 83, '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), + 83, + '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' +), +] +); +Version39948::$GAME_EVENT_MAPPING = [ + 5 => 77, + 7 => 76, + 9 => 69, + 10 => 71, + 11 => 72, + 12 => 73, + 13 => 75, + 14 => 80, + 21 => 81, + 22 => 77, + 23 => 77, + 25 => 82, + 26 => 86, + 27 => 96, + 28 => 104, + 29 => 105, + 30 => 107, + 31 => 109, + 32 => 110, + 33 => 113, + 34 => 114, + 35 => 115, + 36 => 116, + 37 => 117, + 38 => 118, + 39 => 119, + 40 => 120, + 41 => 121, + 43 => 126, + 44 => 77, + 45 => 131, + 46 => 138, + 47 => 139, + 48 => 140, + 49 => 144, + 50 => 77, + 51 => 127, + 52 => 77, + 53 => 128, + 54 => 77, + 55 => 130, + 56 => 134, + 57 => 145, + 58 => 148, + 59 => 149, + 60 => 150, + 61 => 151, + 62 => 152, + 63 => 77, + 64 => 153, + 65 => 154, + 66 => 155, + 67 => 167, + 68 => 77, + 69 => 77, + 70 => 156, + 71 => 157, + 72 => 158, + 73 => 77, + 74 => 77, + 75 => 160, + 76 => 159, + 77 => 77, + 78 => 77, + 79 => 161, + 80 => 77, + 81 => 77, + 82 => 162, + 83 => 163, + 84 => 163, + 85 => 128, + 86 => 77, + 87 => 77, + 88 => 165, + 89 => 166, + 90 => 168, + 91 => 169, + 92 => 171, + 93 => 127, + 94 => 172, + 95 => 173, + 96 => 77, + 97 => 174, + 98 => 175, + 99 => 176, + 100 => 177, + 101 => 178, + 102 => 179, + 103 => 181, + 104 => 182, + 105 => 183, + 106 => 135, + 107 => 136, + 108 => 137, + 109 => 184, + 110 => 185, + 111 => 77, + 112 => 186, +]; +Version39948::$MESSAGE_EVENT_MAPPING = [ + 0 => 187, + 1 => 188, + 2 => 189, + 3 => 77, + 4 => 190, +]; +Version39948::$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/Version40384.php b/src/Version/Version40384.php new file mode 100644 index 0000000..e54f1c4 --- /dev/null +++ b/src/Version/Version40384.php @@ -0,0 +1,1343 @@ +getNode(18); + } + + public function getReplayInitDataNode() { + return self::$TREE->getNode(68); + } + + 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 + ); + } + +} + +Version40384::$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), + "fixedFileHash" => 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' => -26), + "gameCacheName" => array('type' => 29, 'tag' => -25), + "gameOptions" => array('type' => 49, 'tag' => -24), + "gameSpeed" => array('type' => 12, 'tag' => -23), + "gameType" => array('type' => 12, 'tag' => -22), + "maxUsers" => array('type' => 2, 'tag' => -21), + "maxObservers" => array('type' => 2, 'tag' => -20), + "maxPlayers" => array('type' => 2, 'tag' => -19), + "maxTeams" => array('type' => 50, 'tag' => -18), + "maxColors" => array('type' => 3, 'tag' => -17), + "maxRaces" => array('type' => 51, 'tag' => -16), + "maxControls" => array('type' => 10, 'tag' => -15), + "mapSizeX" => array('type' => 10, 'tag' => -14), + "mapSizeY" => array('type' => 10, 'tag' => -13), + "mapFileSyncChecksum" => array('type' => 6, 'tag' => -12), + "mapFileName" => array('type' => 30, 'tag' => -11), + "mapAuthorName" => array('type' => 9, 'tag' => -10), + "modFileSyncChecksum" => array('type' => 6, 'tag' => -9), + "slotDescriptions" => array('type' => 56, 'tag' => -8), + "defaultDifficulty" => array('type' => 3, 'tag' => -7), + "defaultAIBuild" => array('type' => 10, 'tag' => -6), + "cacheHandles" => array('type' => 36, 'tag' => -5), + "hasExtensionMod" => 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 StructNode([ + "control" => array('type' => 10, 'tag' => -23), + "userId" => array('type' => 58, 'tag' => -22), + "teamId" => array('type' => 1, 'tag' => -21), + "colorPref" => array('type' => 60, 'tag' => -20), + "racePref" => array('type' => 44, 'tag' => -19), + "difficulty" => array('type' => 3, 'tag' => -18), + "aiBuild" => array('type' => 10, 'tag' => -17), + "handicap" => array('type' => 0, 'tag' => -16), + "observe" => array('type' => 24, 'tag' => -15), + "logoIndex" => array('type' => 6, 'tag' => -14), + "hero" => array('type' => 46, 'tag' => -13), + "skin" => array('type' => 46, 'tag' => -12), + "mount" => array('type' => 46, 'tag' => -11), + "artifacts" => array('type' => 61, 'tag' => -10), + "workingSetSlotId" => array('type' => 25, 'tag' => -9), + "rewards" => array('type' => 62, 'tag' => -8), + "toonHandle" => array('type' => 20, 'tag' => -7), + "licenses" => array('type' => 63, 'tag' => -6), + "tandemLeaderId" => array('type' => 58, 'tag' => -5), + "commander" => array('type' => 46, 'tag' => -4), + "commanderLevel" => array('type' => 6, 'tag' => -3), + "hasSilencePenalty" => array('type' => 13, 'tag' => -2), + "tandemId" => array('type' => 58, 'tag' => -1), +]), +65 => new ArrayNode( + new IntegerNode(5, 0), + 64 +), +66 => new StructNode([ + "phase" => array('type' => 12, 'tag' => -11), + "maxUsers" => array('type' => 2, 'tag' => -10), + "maxObservers" => array('type' => 2, 'tag' => -9), + "slots" => array('type' => 65, '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' +), +67 => new StructNode([ + "userInitialData" => array('type' => 48, 'tag' => -3), + "gameDescription" => array('type' => 57, 'tag' => -2), + "lobbyState" => array('type' => 66, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\SyncLobbyState' +), +68 => new StructNode([ + "syncLobbyState" => array('type' => 67, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\InitData' +), +69 => new StructNode([ + "name" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankFileEvent' +), +70 => new BlobNode(new IntegerNode(6, 0)), +71 => new StructNode([ + "name" => array('type' => 70, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSectionEvent' +), +72 => new StructNode([ + "name" => array('type' => 70, 'tag' => -3), + "type" => array('type' => 6, 'tag' => -2), + "data" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankKeyEvent' +), +73 => new StructNode([ + "type" => array('type' => 6, 'tag' => -3), + "name" => array('type' => 70, 'tag' => -2), + "data" => array('type' => 34, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankValueEvent' +), +74 => new ArrayNode( + new IntegerNode(5, 0), + 10, + 'Rogiel\StarReplay\Event\Game\Entity\BankSignature' + +), +75 => new StructNode([ + "signature" => array('type' => 74, 'tag' => -2), + "toonHandle" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSignatureEvent' +), +76 => 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' +), +77 => new StructNode([ +], + 'Rogiel\StarReplay\Event\Message\ServerPingMessage' +), +78 => new IntegerNode(16, 0), +79 => new StructNode([ + "x" => array('type' => 78, 'tag' => -2), + "y" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +80 => new StructNode([ + "which" => array('type' => 12, 'tag' => -2), + "target" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraSaveEvent' +), +81 => 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' +), +82 => new StructNode([ + "sequence" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerResetEvent' +), +83 => new IntegerNode(32, -2147483648), +84 => new StructNode([ + "x" => array('type' => 83, 'tag' => -2), + "y" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +85 => new StructNode([ + "point" => array('type' => 84, 'tag' => -4), + "time" => array('type' => 83, 'tag' => -3), + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +]), +86 => new StructNode([ + "data" => array('type' => 85, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameCheatEvent' +), +87 => new IntegerNode(25, 0), +88 => new StructNode([ + "abilLink" => array('type' => 78, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "abilCmdData" => array('type' => 25, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\Ability' +), +89 => new OptionalNode(88), +90 => new NullNode(), +91 => new IntegerNode(20, 0), +92 => new StructNode([ + "x" => array('type' => 91, 'tag' => -3), + "y" => array('type' => 91, 'tag' => -2), + "z" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +93 => new StructNode([ + "targetUnitFlags" => array('type' => 78, 'tag' => -7), + "timer" => array('type' => 10, 'tag' => -6), + "tag" => array('type' => 6, 'tag' => -5), + "snapshotUnitLink" => array('type' => 78, 'tag' => -4), + "snapshotControlPlayerId" => array('type' => 58, 'tag' => -3), + "snapshotUpkeepPlayerId" => array('type' => 58, 'tag' => -2), + "snapshotPoint" => array('type' => 92, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\TargetUnit' +), +94 => new ChoiceNode(new IntegerNode(2), [ + 0 => 90, + 1 => 92, + 2 => 93, + 3 => 6, +]), +95 => new IntegerNode(32, 1), +96 => new StructNode([ + "cmdFlags" => array('type' => 87, 'tag' => -6), + "abil" => array('type' => 89, 'tag' => -5), + "data" => array('type' => 94, 'tag' => -4), + "sequence" => array('type' => 95, 'tag' => -3), + "otherUnit" => array('type' => 43, 'tag' => -2), + "unitGroup" => array('type' => 43, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdEvent' +), +97 => new IntegerNode(9, 0), +98 => new BitArrayNode( + new IntegerNode(9, 0) +, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateMask'), +99 => new ArrayNode( + new IntegerNode(9, 0), + 97, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateZeroIndices' + +), +100 => new ChoiceNode(new IntegerNode(2), [ + 0 => 90, + 1 => 98, + 2 => 99, + 3 => 99, +]), +101 => new StructNode([ + "unitLink" => array('type' => 78, 'tag' => -4), + "subgroupPriority" => array('type' => 10, 'tag' => -3), + "intraSubgroupPriority" => array('type' => 10, 'tag' => -2), + "count" => array('type' => 97, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SubgroupUnit' +), +102 => new ArrayNode( + new IntegerNode(9, 0), + 101 +), +103 => new StructNode([ + "subgroupIndex" => array('type' => 97, 'tag' => -4), + "removeMask" => array('type' => 100, 'tag' => -3), + "addSubgroups" => array('type' => 102, 'tag' => -2), + "addUnitTags" => array('type' => 63, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SelectionDelta' +), +104 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "delta" => array('type' => 103, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionDeltaEvent' +), +105 => new StructNode([ + "controlGroupIndex" => array('type' => 1, 'tag' => -3), + "controlGroupUpdate" => array('type' => 12, 'tag' => -2), + "mask" => array('type' => 100, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ControlGroupUpdateEvent' +), +106 => new StructNode([ + "count" => array('type' => 97, 'tag' => -6), + "subgroupCount" => array('type' => 97, 'tag' => -5), + "activeSubgroupIndex" => array('type' => 97, 'tag' => -4), + "unitTagsChecksum" => array('type' => 6, 'tag' => -3), + "subgroupIndicesChecksum" => array('type' => 6, 'tag' => -2), + "subgroupsChecksum" => array('type' => 6, 'tag' => -1), +]), +107 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "selectionSyncData" => array('type' => 106, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionSyncCheckEvent' +), +108 => new ArrayNode( + new IntegerNode(3, 0), + 83, + 'Rogiel\StarReplay\Event\Game\Entity\ResourceRequest' + +), +109 => new StructNode([ + "recipientId" => array('type' => 1, 'tag' => -2), + "resources" => array('type' => 108, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceTradeEvent' +), +110 => new StructNode([ + "chatMessage" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerChatMessageEvent' +), +111 => new IntegerNode(8, -128), +112 => new StructNode([ + "x" => array('type' => 83, 'tag' => -3), + "y" => array('type' => 83, 'tag' => -2), + "z" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +113 => new StructNode([ + "beacon" => array('type' => 111, 'tag' => -9), + "ally" => array('type' => 111, 'tag' => -8), + "flags" => array('type' => 111, 'tag' => -7), + "build" => array('type' => 111, 'tag' => -6), + "targetUnitTag" => array('type' => 6, 'tag' => -5), + "targetUnitSnapshotUnitLink" => array('type' => 78, 'tag' => -4), + "targetUnitSnapshotUpkeepPlayerId" => array('type' => 111, 'tag' => -3), + "targetUnitSnapshotControlPlayerId" => array('type' => 111, 'tag' => -2), + "targetPoint" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AICommunicateEvent' +), +114 => new StructNode([ + "speed" => array('type' => 12, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SetAbsoluteGameSpeedEvent' +), +115 => new StructNode([ + "delta" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AddAbsoluteGameSpeedEvent' +), +116 => new StructNode([ + "point" => array('type' => 84, 'tag' => -9), + "unit" => array('type' => 6, 'tag' => -8), + "unitLink" => array('type' => 78, 'tag' => -7), + "unitControlPlayerId" => array('type' => 58, 'tag' => -6), + "unitUpkeepPlayerId" => array('type' => 58, 'tag' => -5), + "unitPosition" => array('type' => 92, 'tag' => -4), + "unitIsUnderConstruction" => array('type' => 13, 'tag' => -3), + "pingedMinimap" => array('type' => 13, 'tag' => -2), + "option" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPingEvent' +), +117 => new StructNode([ + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BroadcastCheatEvent' +), +118 => new StructNode([ + "alliance" => array('type' => 6, 'tag' => -2), + "control" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AllianceEvent' +), +119 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitClickEvent' +), +120 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -2), + "flags" => array('type' => 10, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitHighlightEvent' +), +121 => new StructNode([ + "conversationId" => array('type' => 83, 'tag' => -2), + "replyId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerReplySelectedEvent' +), +122 => new OptionalNode(20), +123 => new StructNode([ + "gameUserId" => array('type' => 1, 'tag' => -6), + "observe" => array('type' => 24, 'tag' => -5), + "name" => array('type' => 9, 'tag' => -4), + "toonHandle" => array('type' => 122, 'tag' => -3), + "clanTag" => array('type' => 41, 'tag' => -2), + "clanLogo" => array('type' => 42, 'tag' => -1), +]), +124 => new ArrayNode( + new IntegerNode(5, 0), + 123 +), +125 => new IntegerNode(1, 0), +126 => new StructNode([ + "userInfos" => array('type' => 124, 'tag' => -2), + "method" => array('type' => 125, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HijackReplayGameEvent' +), +127 => new StructNode([ + "purchaseItemId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseItemChangedEvent' +), +128 => new StructNode([ + "difficultyLevel" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerVictoryPanelPlayMissionAgainEvent' +), +129 => new ChoiceNode(new IntegerNode(3), [ + 0 => 90, + 1 => 13, + 2 => 6, + 3 => 83, + 4 => 30, + 5 => 6, +]), +130 => new StructNode([ + "controlId" => array('type' => 83, 'tag' => -3), + "eventType" => array('type' => 83, 'tag' => -2), + "eventData" => array('type' => 129, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerDialogControlEvent' +), +131 => new StructNode([ + "soundHash" => array('type' => 6, 'tag' => -2), + "length" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthQueryEvent' +), +132 => new ArrayNode( + new IntegerNode(7, 0), + 6 +), +133 => new StructNode([ + "soundHash" => array('type' => 132, 'tag' => -2), + "length" => array('type' => 132, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SoundLengthSync' +), +134 => new StructNode([ + "syncInfo" => array('type' => 133, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthSyncEvent' +), +135 => new StructNode([ + "queryId" => array('type' => 78, 'tag' => -3), + "lengthMs" => array('type' => 6, 'tag' => -2), + "finishGameLoop" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByNameEvent' +), +136 => new StructNode([ + "queryId" => array('type' => 78, 'tag' => -2), + "lengthMs" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByPropsEvent' +), +137 => new StructNode([ + "animWaitQueryId" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimOffsetEvent' +), +138 => new StructNode([ + "sound" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundOffsetEvent' +), +139 => new StructNode([ + "transmissionId" => array('type' => 83, 'tag' => -2), + "thread" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionOffsetEvent' +), +140 => new StructNode([ + "transmissionId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionCompleteEvent' +), +141 => new OptionalNode(79), +142 => new OptionalNode(78), +143 => new OptionalNode(111), +144 => new StructNode([ + "target" => array('type' => 141, 'tag' => -6), + "distance" => array('type' => 142, 'tag' => -5), + "pitch" => array('type' => 142, 'tag' => -4), + "yaw" => array('type' => 142, 'tag' => -3), + "reason" => array('type' => 143, 'tag' => -2), + "follow" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraUpdateEvent' +), +145 => new StructNode([ + "skipType" => array('type' => 125, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerConversationSkippedEvent' +), +146 => new IntegerNode(11, 0), +147 => new StructNode([ + "x" => array('type' => 146, 'tag' => -2), + "y" => array('type' => 146, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +148 => new StructNode([ + "button" => array('type' => 6, 'tag' => -5), + "down" => array('type' => 13, 'tag' => -4), + "posUI" => array('type' => 147, 'tag' => -3), + "posWorld" => array('type' => 92, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseClickedEvent' +), +149 => new StructNode([ + "posUI" => array('type' => 147, 'tag' => -3), + "posWorld" => array('type' => 92, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseMovedEvent' +), +150 => new StructNode([ + "achievementLink" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AchievementAwardedEvent' +), +151 => new StructNode([ + "hotkey" => array('type' => 6, 'tag' => -2), + "down" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerHotkeyPressedEvent' +), +152 => new StructNode([ + "abilLink" => array('type' => 78, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "state" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTargetModeUpdateEvent' +), +153 => new StructNode([ + "soundtrack" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundtrackDoneEvent' +), +154 => new StructNode([ + "planetId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPlanetMissionSelectedEvent' +), +155 => new StructNode([ + "key" => array('type' => 111, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerKeyPressedEvent' +), +156 => new StructNode([ + "resources" => array('type' => 108, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestEvent' +), +157 => new StructNode([ + "fulfillRequestId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestFulfillEvent' +), +158 => new StructNode([ + "cancelRequestId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestCancelEvent' +), +159 => new StructNode([ + "error" => array('type' => 83, 'tag' => -2), + "abil" => array('type' => 89, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCommandErrorEvent' +), +160 => new StructNode([ + "researchItemId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerResearchPanelSelectionChangedEvent' +), +161 => new StructNode([ + "mercenaryId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMercenaryPanelSelectionChangedEvent' +), +162 => new StructNode([ + "battleReportId" => array('type' => 83, 'tag' => -2), + "difficultyLevel" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelPlayMissionEvent' +), +163 => new StructNode([ + "battleReportId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelSelectionChangedEvent' +), +164 => new IntegerNode(19, 0), +165 => new StructNode([ + "decrementMs" => array('type' => 164, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\DecrementGameTimeRemainingEvent' +), +166 => new StructNode([ + "portraitId" => array('type' => 83, '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' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCustomDialogDismissedEvent' +), +169 => new StructNode([ + "gameMenuItemIndex" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerGameMenuItemSelectedEvent' +), +170 => new IntegerNode(16, -32768), +171 => new StructNode([ + "wheelSpin" => array('type' => 170, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseWheelEvent' +), +172 => new StructNode([ + "purchaseCategoryId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseCategoryChangedEvent' +), +173 => new StructNode([ + "button" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerButtonPressedEvent' +), +174 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -2), + "bookmarkName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneBookmarkFiredEvent' +), +175 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneEndSceneFiredEvent' +), +176 => new StructNode([ + "cutsceneId" => array('type' => 83, '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' => 83, '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' => 122, '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(95), +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' => 92, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetPointEvent' +), +183 => new StructNode([ + "target" => array('type' => 93, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetUnitEvent' +), +184 => new StructNode([ + "catalog" => array('type' => 10, 'tag' => -4), + "entry" => array('type' => 78, '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' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\PingMessage' +), +189 => new StructNode([ + "progress" => array('type' => 83, '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' => 83, 'tag' => 0), + "scoreValueVespeneCurrent" => array('type' => 83, 'tag' => 1), + "scoreValueMineralsCollectionRate" => array('type' => 83, 'tag' => 2), + "scoreValueVespeneCollectionRate" => array('type' => 83, 'tag' => 3), + "scoreValueWorkersActiveCount" => array('type' => 83, 'tag' => 4), + "scoreValueMineralsUsedInProgressArmy" => array('type' => 83, 'tag' => 5), + "scoreValueMineralsUsedInProgressEconomy" => array('type' => 83, 'tag' => 6), + "scoreValueMineralsUsedInProgressTechnology" => array('type' => 83, 'tag' => 7), + "scoreValueVespeneUsedInProgressArmy" => array('type' => 83, 'tag' => 8), + "scoreValueVespeneUsedInProgressEconomy" => array('type' => 83, 'tag' => 9), + "scoreValueVespeneUsedInProgressTechnology" => array('type' => 83, 'tag' => 10), + "scoreValueMineralsUsedCurrentArmy" => array('type' => 83, 'tag' => 11), + "scoreValueMineralsUsedCurrentEconomy" => array('type' => 83, 'tag' => 12), + "scoreValueMineralsUsedCurrentTechnology" => array('type' => 83, 'tag' => 13), + "scoreValueVespeneUsedCurrentArmy" => array('type' => 83, 'tag' => 14), + "scoreValueVespeneUsedCurrentEconomy" => array('type' => 83, 'tag' => 15), + "scoreValueVespeneUsedCurrentTechnology" => array('type' => 83, 'tag' => 16), + "scoreValueMineralsLostArmy" => array('type' => 83, 'tag' => 17), + "scoreValueMineralsLostEconomy" => array('type' => 83, 'tag' => 18), + "scoreValueMineralsLostTechnology" => array('type' => 83, 'tag' => 19), + "scoreValueVespeneLostArmy" => array('type' => 83, 'tag' => 20), + "scoreValueVespeneLostEconomy" => array('type' => 83, 'tag' => 21), + "scoreValueVespeneLostTechnology" => array('type' => 83, 'tag' => 22), + "scoreValueMineralsKilledArmy" => array('type' => 83, 'tag' => 23), + "scoreValueMineralsKilledEconomy" => array('type' => 83, 'tag' => 24), + "scoreValueMineralsKilledTechnology" => array('type' => 83, 'tag' => 25), + "scoreValueVespeneKilledArmy" => array('type' => 83, 'tag' => 26), + "scoreValueVespeneKilledEconomy" => array('type' => 83, 'tag' => 27), + "scoreValueVespeneKilledTechnology" => array('type' => 83, 'tag' => 28), + "scoreValueFoodUsed" => array('type' => 83, 'tag' => 29), + "scoreValueFoodMade" => array('type' => 83, 'tag' => 30), + "scoreValueMineralsUsedActiveForces" => array('type' => 83, 'tag' => 31), + "scoreValueVespeneUsedActiveForces" => array('type' => 83, 'tag' => 32), + "scoreValueMineralsFriendlyFireArmy" => array('type' => 83, 'tag' => 33), + "scoreValueMineralsFriendlyFireEconomy" => array('type' => 83, 'tag' => 34), + "scoreValueMineralsFriendlyFireTechnology" => array('type' => 83, 'tag' => 35), + "scoreValueVespeneFriendlyFireArmy" => array('type' => 83, 'tag' => 36), + "scoreValueVespeneFriendlyFireEconomy" => array('type' => 83, 'tag' => 37), + "scoreValueVespeneFriendlyFireTechnology" => array('type' => 83, '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' => 83, '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), + 83, + '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' +), +] +); +Version40384::$GAME_EVENT_MAPPING = [ + 5 => 77, + 7 => 76, + 9 => 69, + 10 => 71, + 11 => 72, + 12 => 73, + 13 => 75, + 14 => 80, + 21 => 81, + 22 => 77, + 23 => 77, + 25 => 82, + 26 => 86, + 27 => 96, + 28 => 104, + 29 => 105, + 30 => 107, + 31 => 109, + 32 => 110, + 33 => 113, + 34 => 114, + 35 => 115, + 36 => 116, + 37 => 117, + 38 => 118, + 39 => 119, + 40 => 120, + 41 => 121, + 43 => 126, + 44 => 77, + 45 => 131, + 46 => 138, + 47 => 139, + 48 => 140, + 49 => 144, + 50 => 77, + 51 => 127, + 52 => 77, + 53 => 128, + 54 => 77, + 55 => 130, + 56 => 134, + 57 => 145, + 58 => 148, + 59 => 149, + 60 => 150, + 61 => 151, + 62 => 152, + 63 => 77, + 64 => 153, + 65 => 154, + 66 => 155, + 67 => 167, + 68 => 77, + 69 => 77, + 70 => 156, + 71 => 157, + 72 => 158, + 73 => 77, + 74 => 77, + 75 => 160, + 76 => 159, + 77 => 77, + 78 => 77, + 79 => 161, + 80 => 77, + 81 => 77, + 82 => 162, + 83 => 163, + 84 => 163, + 85 => 128, + 86 => 77, + 87 => 77, + 88 => 165, + 89 => 166, + 90 => 168, + 91 => 169, + 92 => 171, + 93 => 127, + 94 => 172, + 95 => 173, + 96 => 77, + 97 => 174, + 98 => 175, + 99 => 176, + 100 => 177, + 101 => 178, + 102 => 179, + 103 => 181, + 104 => 182, + 105 => 183, + 106 => 135, + 107 => 136, + 108 => 137, + 109 => 184, + 110 => 185, + 111 => 77, + 112 => 186, +]; +Version40384::$MESSAGE_EVENT_MAPPING = [ + 0 => 187, + 1 => 188, + 2 => 189, + 3 => 77, + 4 => 190, +]; +Version40384::$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/Version40977.php b/src/Version/Version40977.php new file mode 100644 index 0000000..7eb09be --- /dev/null +++ b/src/Version/Version40977.php @@ -0,0 +1,1343 @@ +getNode(18); + } + + public function getReplayInitDataNode() { + return self::$TREE->getNode(68); + } + + 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 + ); + } + +} + +Version40977::$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), + "fixedFileHash" => 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' => -26), + "gameCacheName" => array('type' => 29, 'tag' => -25), + "gameOptions" => array('type' => 49, 'tag' => -24), + "gameSpeed" => array('type' => 12, 'tag' => -23), + "gameType" => array('type' => 12, 'tag' => -22), + "maxUsers" => array('type' => 2, 'tag' => -21), + "maxObservers" => array('type' => 2, 'tag' => -20), + "maxPlayers" => array('type' => 2, 'tag' => -19), + "maxTeams" => array('type' => 50, 'tag' => -18), + "maxColors" => array('type' => 3, 'tag' => -17), + "maxRaces" => array('type' => 51, 'tag' => -16), + "maxControls" => array('type' => 10, 'tag' => -15), + "mapSizeX" => array('type' => 10, 'tag' => -14), + "mapSizeY" => array('type' => 10, 'tag' => -13), + "mapFileSyncChecksum" => array('type' => 6, 'tag' => -12), + "mapFileName" => array('type' => 30, 'tag' => -11), + "mapAuthorName" => array('type' => 9, 'tag' => -10), + "modFileSyncChecksum" => array('type' => 6, 'tag' => -9), + "slotDescriptions" => array('type' => 56, 'tag' => -8), + "defaultDifficulty" => array('type' => 3, 'tag' => -7), + "defaultAIBuild" => array('type' => 10, 'tag' => -6), + "cacheHandles" => array('type' => 36, 'tag' => -5), + "hasExtensionMod" => 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 StructNode([ + "control" => array('type' => 10, 'tag' => -23), + "userId" => array('type' => 58, 'tag' => -22), + "teamId" => array('type' => 1, 'tag' => -21), + "colorPref" => array('type' => 60, 'tag' => -20), + "racePref" => array('type' => 44, 'tag' => -19), + "difficulty" => array('type' => 3, 'tag' => -18), + "aiBuild" => array('type' => 10, 'tag' => -17), + "handicap" => array('type' => 0, 'tag' => -16), + "observe" => array('type' => 24, 'tag' => -15), + "logoIndex" => array('type' => 6, 'tag' => -14), + "hero" => array('type' => 46, 'tag' => -13), + "skin" => array('type' => 46, 'tag' => -12), + "mount" => array('type' => 46, 'tag' => -11), + "artifacts" => array('type' => 61, 'tag' => -10), + "workingSetSlotId" => array('type' => 25, 'tag' => -9), + "rewards" => array('type' => 62, 'tag' => -8), + "toonHandle" => array('type' => 20, 'tag' => -7), + "licenses" => array('type' => 63, 'tag' => -6), + "tandemLeaderId" => array('type' => 58, 'tag' => -5), + "commander" => array('type' => 46, 'tag' => -4), + "commanderLevel" => array('type' => 6, 'tag' => -3), + "hasSilencePenalty" => array('type' => 13, 'tag' => -2), + "tandemId" => array('type' => 58, 'tag' => -1), +]), +65 => new ArrayNode( + new IntegerNode(5, 0), + 64 +), +66 => new StructNode([ + "phase" => array('type' => 12, 'tag' => -11), + "maxUsers" => array('type' => 2, 'tag' => -10), + "maxObservers" => array('type' => 2, 'tag' => -9), + "slots" => array('type' => 65, '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' +), +67 => new StructNode([ + "userInitialData" => array('type' => 48, 'tag' => -3), + "gameDescription" => array('type' => 57, 'tag' => -2), + "lobbyState" => array('type' => 66, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\SyncLobbyState' +), +68 => new StructNode([ + "syncLobbyState" => array('type' => 67, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\InitData' +), +69 => new StructNode([ + "name" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankFileEvent' +), +70 => new BlobNode(new IntegerNode(6, 0)), +71 => new StructNode([ + "name" => array('type' => 70, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSectionEvent' +), +72 => new StructNode([ + "name" => array('type' => 70, 'tag' => -3), + "type" => array('type' => 6, 'tag' => -2), + "data" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankKeyEvent' +), +73 => new StructNode([ + "type" => array('type' => 6, 'tag' => -3), + "name" => array('type' => 70, 'tag' => -2), + "data" => array('type' => 34, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankValueEvent' +), +74 => new ArrayNode( + new IntegerNode(5, 0), + 10, + 'Rogiel\StarReplay\Event\Game\Entity\BankSignature' + +), +75 => new StructNode([ + "signature" => array('type' => 74, 'tag' => -2), + "toonHandle" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSignatureEvent' +), +76 => 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' +), +77 => new StructNode([ +], + 'Rogiel\StarReplay\Event\Message\ServerPingMessage' +), +78 => new IntegerNode(16, 0), +79 => new StructNode([ + "x" => array('type' => 78, 'tag' => -2), + "y" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +80 => new StructNode([ + "which" => array('type' => 12, 'tag' => -2), + "target" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraSaveEvent' +), +81 => 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' +), +82 => new StructNode([ + "sequence" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerResetEvent' +), +83 => new IntegerNode(32, -2147483648), +84 => new StructNode([ + "x" => array('type' => 83, 'tag' => -2), + "y" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +85 => new StructNode([ + "point" => array('type' => 84, 'tag' => -4), + "time" => array('type' => 83, 'tag' => -3), + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +]), +86 => new StructNode([ + "data" => array('type' => 85, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameCheatEvent' +), +87 => new IntegerNode(25, 0), +88 => new StructNode([ + "abilLink" => array('type' => 78, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "abilCmdData" => array('type' => 25, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\Ability' +), +89 => new OptionalNode(88), +90 => new NullNode(), +91 => new IntegerNode(20, 0), +92 => new StructNode([ + "x" => array('type' => 91, 'tag' => -3), + "y" => array('type' => 91, 'tag' => -2), + "z" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +93 => new StructNode([ + "targetUnitFlags" => array('type' => 78, 'tag' => -7), + "timer" => array('type' => 10, 'tag' => -6), + "tag" => array('type' => 6, 'tag' => -5), + "snapshotUnitLink" => array('type' => 78, 'tag' => -4), + "snapshotControlPlayerId" => array('type' => 58, 'tag' => -3), + "snapshotUpkeepPlayerId" => array('type' => 58, 'tag' => -2), + "snapshotPoint" => array('type' => 92, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\TargetUnit' +), +94 => new ChoiceNode(new IntegerNode(2), [ + 0 => 90, + 1 => 92, + 2 => 93, + 3 => 6, +]), +95 => new IntegerNode(32, 1), +96 => new StructNode([ + "cmdFlags" => array('type' => 87, 'tag' => -6), + "abil" => array('type' => 89, 'tag' => -5), + "data" => array('type' => 94, 'tag' => -4), + "sequence" => array('type' => 95, 'tag' => -3), + "otherUnit" => array('type' => 43, 'tag' => -2), + "unitGroup" => array('type' => 43, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdEvent' +), +97 => new IntegerNode(9, 0), +98 => new BitArrayNode( + new IntegerNode(9, 0) +, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateMask'), +99 => new ArrayNode( + new IntegerNode(9, 0), + 97, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateZeroIndices' + +), +100 => new ChoiceNode(new IntegerNode(2), [ + 0 => 90, + 1 => 98, + 2 => 99, + 3 => 99, +]), +101 => new StructNode([ + "unitLink" => array('type' => 78, 'tag' => -4), + "subgroupPriority" => array('type' => 10, 'tag' => -3), + "intraSubgroupPriority" => array('type' => 10, 'tag' => -2), + "count" => array('type' => 97, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SubgroupUnit' +), +102 => new ArrayNode( + new IntegerNode(9, 0), + 101 +), +103 => new StructNode([ + "subgroupIndex" => array('type' => 97, 'tag' => -4), + "removeMask" => array('type' => 100, 'tag' => -3), + "addSubgroups" => array('type' => 102, 'tag' => -2), + "addUnitTags" => array('type' => 63, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SelectionDelta' +), +104 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "delta" => array('type' => 103, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionDeltaEvent' +), +105 => new StructNode([ + "controlGroupIndex" => array('type' => 1, 'tag' => -3), + "controlGroupUpdate" => array('type' => 12, 'tag' => -2), + "mask" => array('type' => 100, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ControlGroupUpdateEvent' +), +106 => new StructNode([ + "count" => array('type' => 97, 'tag' => -6), + "subgroupCount" => array('type' => 97, 'tag' => -5), + "activeSubgroupIndex" => array('type' => 97, 'tag' => -4), + "unitTagsChecksum" => array('type' => 6, 'tag' => -3), + "subgroupIndicesChecksum" => array('type' => 6, 'tag' => -2), + "subgroupsChecksum" => array('type' => 6, 'tag' => -1), +]), +107 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "selectionSyncData" => array('type' => 106, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionSyncCheckEvent' +), +108 => new ArrayNode( + new IntegerNode(3, 0), + 83, + 'Rogiel\StarReplay\Event\Game\Entity\ResourceRequest' + +), +109 => new StructNode([ + "recipientId" => array('type' => 1, 'tag' => -2), + "resources" => array('type' => 108, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceTradeEvent' +), +110 => new StructNode([ + "chatMessage" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerChatMessageEvent' +), +111 => new IntegerNode(8, -128), +112 => new StructNode([ + "x" => array('type' => 83, 'tag' => -3), + "y" => array('type' => 83, 'tag' => -2), + "z" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +113 => new StructNode([ + "beacon" => array('type' => 111, 'tag' => -9), + "ally" => array('type' => 111, 'tag' => -8), + "flags" => array('type' => 111, 'tag' => -7), + "build" => array('type' => 111, 'tag' => -6), + "targetUnitTag" => array('type' => 6, 'tag' => -5), + "targetUnitSnapshotUnitLink" => array('type' => 78, 'tag' => -4), + "targetUnitSnapshotUpkeepPlayerId" => array('type' => 111, 'tag' => -3), + "targetUnitSnapshotControlPlayerId" => array('type' => 111, 'tag' => -2), + "targetPoint" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AICommunicateEvent' +), +114 => new StructNode([ + "speed" => array('type' => 12, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SetAbsoluteGameSpeedEvent' +), +115 => new StructNode([ + "delta" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AddAbsoluteGameSpeedEvent' +), +116 => new StructNode([ + "point" => array('type' => 84, 'tag' => -9), + "unit" => array('type' => 6, 'tag' => -8), + "unitLink" => array('type' => 78, 'tag' => -7), + "unitControlPlayerId" => array('type' => 58, 'tag' => -6), + "unitUpkeepPlayerId" => array('type' => 58, 'tag' => -5), + "unitPosition" => array('type' => 92, 'tag' => -4), + "unitIsUnderConstruction" => array('type' => 13, 'tag' => -3), + "pingedMinimap" => array('type' => 13, 'tag' => -2), + "option" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPingEvent' +), +117 => new StructNode([ + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BroadcastCheatEvent' +), +118 => new StructNode([ + "alliance" => array('type' => 6, 'tag' => -2), + "control" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AllianceEvent' +), +119 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitClickEvent' +), +120 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -2), + "flags" => array('type' => 10, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitHighlightEvent' +), +121 => new StructNode([ + "conversationId" => array('type' => 83, 'tag' => -2), + "replyId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerReplySelectedEvent' +), +122 => new OptionalNode(20), +123 => new StructNode([ + "gameUserId" => array('type' => 1, 'tag' => -6), + "observe" => array('type' => 24, 'tag' => -5), + "name" => array('type' => 9, 'tag' => -4), + "toonHandle" => array('type' => 122, 'tag' => -3), + "clanTag" => array('type' => 41, 'tag' => -2), + "clanLogo" => array('type' => 42, 'tag' => -1), +]), +124 => new ArrayNode( + new IntegerNode(5, 0), + 123 +), +125 => new IntegerNode(1, 0), +126 => new StructNode([ + "userInfos" => array('type' => 124, 'tag' => -2), + "method" => array('type' => 125, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HijackReplayGameEvent' +), +127 => new StructNode([ + "purchaseItemId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseItemChangedEvent' +), +128 => new StructNode([ + "difficultyLevel" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerVictoryPanelPlayMissionAgainEvent' +), +129 => new ChoiceNode(new IntegerNode(3), [ + 0 => 90, + 1 => 13, + 2 => 6, + 3 => 83, + 4 => 30, + 5 => 6, +]), +130 => new StructNode([ + "controlId" => array('type' => 83, 'tag' => -3), + "eventType" => array('type' => 83, 'tag' => -2), + "eventData" => array('type' => 129, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerDialogControlEvent' +), +131 => new StructNode([ + "soundHash" => array('type' => 6, 'tag' => -2), + "length" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthQueryEvent' +), +132 => new ArrayNode( + new IntegerNode(7, 0), + 6 +), +133 => new StructNode([ + "soundHash" => array('type' => 132, 'tag' => -2), + "length" => array('type' => 132, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SoundLengthSync' +), +134 => new StructNode([ + "syncInfo" => array('type' => 133, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthSyncEvent' +), +135 => new StructNode([ + "queryId" => array('type' => 78, 'tag' => -3), + "lengthMs" => array('type' => 6, 'tag' => -2), + "finishGameLoop" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByNameEvent' +), +136 => new StructNode([ + "queryId" => array('type' => 78, 'tag' => -2), + "lengthMs" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByPropsEvent' +), +137 => new StructNode([ + "animWaitQueryId" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimOffsetEvent' +), +138 => new StructNode([ + "sound" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundOffsetEvent' +), +139 => new StructNode([ + "transmissionId" => array('type' => 83, 'tag' => -2), + "thread" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionOffsetEvent' +), +140 => new StructNode([ + "transmissionId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionCompleteEvent' +), +141 => new OptionalNode(79), +142 => new OptionalNode(78), +143 => new OptionalNode(111), +144 => new StructNode([ + "target" => array('type' => 141, 'tag' => -6), + "distance" => array('type' => 142, 'tag' => -5), + "pitch" => array('type' => 142, 'tag' => -4), + "yaw" => array('type' => 142, 'tag' => -3), + "reason" => array('type' => 143, 'tag' => -2), + "follow" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraUpdateEvent' +), +145 => new StructNode([ + "skipType" => array('type' => 125, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerConversationSkippedEvent' +), +146 => new IntegerNode(11, 0), +147 => new StructNode([ + "x" => array('type' => 146, 'tag' => -2), + "y" => array('type' => 146, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +148 => new StructNode([ + "button" => array('type' => 6, 'tag' => -5), + "down" => array('type' => 13, 'tag' => -4), + "posUI" => array('type' => 147, 'tag' => -3), + "posWorld" => array('type' => 92, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseClickedEvent' +), +149 => new StructNode([ + "posUI" => array('type' => 147, 'tag' => -3), + "posWorld" => array('type' => 92, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseMovedEvent' +), +150 => new StructNode([ + "achievementLink" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AchievementAwardedEvent' +), +151 => new StructNode([ + "hotkey" => array('type' => 6, 'tag' => -2), + "down" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerHotkeyPressedEvent' +), +152 => new StructNode([ + "abilLink" => array('type' => 78, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "state" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTargetModeUpdateEvent' +), +153 => new StructNode([ + "soundtrack" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundtrackDoneEvent' +), +154 => new StructNode([ + "planetId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPlanetMissionSelectedEvent' +), +155 => new StructNode([ + "key" => array('type' => 111, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerKeyPressedEvent' +), +156 => new StructNode([ + "resources" => array('type' => 108, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestEvent' +), +157 => new StructNode([ + "fulfillRequestId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestFulfillEvent' +), +158 => new StructNode([ + "cancelRequestId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestCancelEvent' +), +159 => new StructNode([ + "error" => array('type' => 83, 'tag' => -2), + "abil" => array('type' => 89, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCommandErrorEvent' +), +160 => new StructNode([ + "researchItemId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerResearchPanelSelectionChangedEvent' +), +161 => new StructNode([ + "mercenaryId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMercenaryPanelSelectionChangedEvent' +), +162 => new StructNode([ + "battleReportId" => array('type' => 83, 'tag' => -2), + "difficultyLevel" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelPlayMissionEvent' +), +163 => new StructNode([ + "battleReportId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelSelectionChangedEvent' +), +164 => new IntegerNode(19, 0), +165 => new StructNode([ + "decrementMs" => array('type' => 164, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\DecrementGameTimeRemainingEvent' +), +166 => new StructNode([ + "portraitId" => array('type' => 83, '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' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCustomDialogDismissedEvent' +), +169 => new StructNode([ + "gameMenuItemIndex" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerGameMenuItemSelectedEvent' +), +170 => new IntegerNode(16, -32768), +171 => new StructNode([ + "wheelSpin" => array('type' => 170, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseWheelEvent' +), +172 => new StructNode([ + "purchaseCategoryId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseCategoryChangedEvent' +), +173 => new StructNode([ + "button" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerButtonPressedEvent' +), +174 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -2), + "bookmarkName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneBookmarkFiredEvent' +), +175 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneEndSceneFiredEvent' +), +176 => new StructNode([ + "cutsceneId" => array('type' => 83, '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' => 83, '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' => 122, '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(95), +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' => 92, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetPointEvent' +), +183 => new StructNode([ + "target" => array('type' => 93, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetUnitEvent' +), +184 => new StructNode([ + "catalog" => array('type' => 10, 'tag' => -4), + "entry" => array('type' => 78, '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' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\PingMessage' +), +189 => new StructNode([ + "progress" => array('type' => 83, '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' => 83, 'tag' => 0), + "scoreValueVespeneCurrent" => array('type' => 83, 'tag' => 1), + "scoreValueMineralsCollectionRate" => array('type' => 83, 'tag' => 2), + "scoreValueVespeneCollectionRate" => array('type' => 83, 'tag' => 3), + "scoreValueWorkersActiveCount" => array('type' => 83, 'tag' => 4), + "scoreValueMineralsUsedInProgressArmy" => array('type' => 83, 'tag' => 5), + "scoreValueMineralsUsedInProgressEconomy" => array('type' => 83, 'tag' => 6), + "scoreValueMineralsUsedInProgressTechnology" => array('type' => 83, 'tag' => 7), + "scoreValueVespeneUsedInProgressArmy" => array('type' => 83, 'tag' => 8), + "scoreValueVespeneUsedInProgressEconomy" => array('type' => 83, 'tag' => 9), + "scoreValueVespeneUsedInProgressTechnology" => array('type' => 83, 'tag' => 10), + "scoreValueMineralsUsedCurrentArmy" => array('type' => 83, 'tag' => 11), + "scoreValueMineralsUsedCurrentEconomy" => array('type' => 83, 'tag' => 12), + "scoreValueMineralsUsedCurrentTechnology" => array('type' => 83, 'tag' => 13), + "scoreValueVespeneUsedCurrentArmy" => array('type' => 83, 'tag' => 14), + "scoreValueVespeneUsedCurrentEconomy" => array('type' => 83, 'tag' => 15), + "scoreValueVespeneUsedCurrentTechnology" => array('type' => 83, 'tag' => 16), + "scoreValueMineralsLostArmy" => array('type' => 83, 'tag' => 17), + "scoreValueMineralsLostEconomy" => array('type' => 83, 'tag' => 18), + "scoreValueMineralsLostTechnology" => array('type' => 83, 'tag' => 19), + "scoreValueVespeneLostArmy" => array('type' => 83, 'tag' => 20), + "scoreValueVespeneLostEconomy" => array('type' => 83, 'tag' => 21), + "scoreValueVespeneLostTechnology" => array('type' => 83, 'tag' => 22), + "scoreValueMineralsKilledArmy" => array('type' => 83, 'tag' => 23), + "scoreValueMineralsKilledEconomy" => array('type' => 83, 'tag' => 24), + "scoreValueMineralsKilledTechnology" => array('type' => 83, 'tag' => 25), + "scoreValueVespeneKilledArmy" => array('type' => 83, 'tag' => 26), + "scoreValueVespeneKilledEconomy" => array('type' => 83, 'tag' => 27), + "scoreValueVespeneKilledTechnology" => array('type' => 83, 'tag' => 28), + "scoreValueFoodUsed" => array('type' => 83, 'tag' => 29), + "scoreValueFoodMade" => array('type' => 83, 'tag' => 30), + "scoreValueMineralsUsedActiveForces" => array('type' => 83, 'tag' => 31), + "scoreValueVespeneUsedActiveForces" => array('type' => 83, 'tag' => 32), + "scoreValueMineralsFriendlyFireArmy" => array('type' => 83, 'tag' => 33), + "scoreValueMineralsFriendlyFireEconomy" => array('type' => 83, 'tag' => 34), + "scoreValueMineralsFriendlyFireTechnology" => array('type' => 83, 'tag' => 35), + "scoreValueVespeneFriendlyFireArmy" => array('type' => 83, 'tag' => 36), + "scoreValueVespeneFriendlyFireEconomy" => array('type' => 83, 'tag' => 37), + "scoreValueVespeneFriendlyFireTechnology" => array('type' => 83, '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' => 83, '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), + 83, + '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' +), +] +); +Version40977::$GAME_EVENT_MAPPING = [ + 5 => 77, + 7 => 76, + 9 => 69, + 10 => 71, + 11 => 72, + 12 => 73, + 13 => 75, + 14 => 80, + 21 => 81, + 22 => 77, + 23 => 77, + 25 => 82, + 26 => 86, + 27 => 96, + 28 => 104, + 29 => 105, + 30 => 107, + 31 => 109, + 32 => 110, + 33 => 113, + 34 => 114, + 35 => 115, + 36 => 116, + 37 => 117, + 38 => 118, + 39 => 119, + 40 => 120, + 41 => 121, + 43 => 126, + 44 => 77, + 45 => 131, + 46 => 138, + 47 => 139, + 48 => 140, + 49 => 144, + 50 => 77, + 51 => 127, + 52 => 77, + 53 => 128, + 54 => 77, + 55 => 130, + 56 => 134, + 57 => 145, + 58 => 148, + 59 => 149, + 60 => 150, + 61 => 151, + 62 => 152, + 63 => 77, + 64 => 153, + 65 => 154, + 66 => 155, + 67 => 167, + 68 => 77, + 69 => 77, + 70 => 156, + 71 => 157, + 72 => 158, + 73 => 77, + 74 => 77, + 75 => 160, + 76 => 159, + 77 => 77, + 78 => 77, + 79 => 161, + 80 => 77, + 81 => 77, + 82 => 162, + 83 => 163, + 84 => 163, + 85 => 128, + 86 => 77, + 87 => 77, + 88 => 165, + 89 => 166, + 90 => 168, + 91 => 169, + 92 => 171, + 93 => 127, + 94 => 172, + 95 => 173, + 96 => 77, + 97 => 174, + 98 => 175, + 99 => 176, + 100 => 177, + 101 => 178, + 102 => 179, + 103 => 181, + 104 => 182, + 105 => 183, + 106 => 135, + 107 => 136, + 108 => 137, + 109 => 184, + 110 => 185, + 111 => 77, + 112 => 186, +]; +Version40977::$MESSAGE_EVENT_MAPPING = [ + 0 => 187, + 1 => 188, + 2 => 189, + 3 => 77, + 4 => 190, +]; +Version40977::$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/Version41128.php b/src/Version/Version41128.php new file mode 100644 index 0000000..cb4bced --- /dev/null +++ b/src/Version/Version41128.php @@ -0,0 +1,1343 @@ +getNode(18); + } + + public function getReplayInitDataNode() { + return self::$TREE->getNode(68); + } + + 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 + ); + } + +} + +Version41128::$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), + "fixedFileHash" => 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' => -26), + "gameCacheName" => array('type' => 29, 'tag' => -25), + "gameOptions" => array('type' => 49, 'tag' => -24), + "gameSpeed" => array('type' => 12, 'tag' => -23), + "gameType" => array('type' => 12, 'tag' => -22), + "maxUsers" => array('type' => 2, 'tag' => -21), + "maxObservers" => array('type' => 2, 'tag' => -20), + "maxPlayers" => array('type' => 2, 'tag' => -19), + "maxTeams" => array('type' => 50, 'tag' => -18), + "maxColors" => array('type' => 3, 'tag' => -17), + "maxRaces" => array('type' => 51, 'tag' => -16), + "maxControls" => array('type' => 10, 'tag' => -15), + "mapSizeX" => array('type' => 10, 'tag' => -14), + "mapSizeY" => array('type' => 10, 'tag' => -13), + "mapFileSyncChecksum" => array('type' => 6, 'tag' => -12), + "mapFileName" => array('type' => 30, 'tag' => -11), + "mapAuthorName" => array('type' => 9, 'tag' => -10), + "modFileSyncChecksum" => array('type' => 6, 'tag' => -9), + "slotDescriptions" => array('type' => 56, 'tag' => -8), + "defaultDifficulty" => array('type' => 3, 'tag' => -7), + "defaultAIBuild" => array('type' => 10, 'tag' => -6), + "cacheHandles" => array('type' => 36, 'tag' => -5), + "hasExtensionMod" => 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 StructNode([ + "control" => array('type' => 10, 'tag' => -23), + "userId" => array('type' => 58, 'tag' => -22), + "teamId" => array('type' => 1, 'tag' => -21), + "colorPref" => array('type' => 60, 'tag' => -20), + "racePref" => array('type' => 44, 'tag' => -19), + "difficulty" => array('type' => 3, 'tag' => -18), + "aiBuild" => array('type' => 10, 'tag' => -17), + "handicap" => array('type' => 0, 'tag' => -16), + "observe" => array('type' => 24, 'tag' => -15), + "logoIndex" => array('type' => 6, 'tag' => -14), + "hero" => array('type' => 46, 'tag' => -13), + "skin" => array('type' => 46, 'tag' => -12), + "mount" => array('type' => 46, 'tag' => -11), + "artifacts" => array('type' => 61, 'tag' => -10), + "workingSetSlotId" => array('type' => 25, 'tag' => -9), + "rewards" => array('type' => 62, 'tag' => -8), + "toonHandle" => array('type' => 20, 'tag' => -7), + "licenses" => array('type' => 63, 'tag' => -6), + "tandemLeaderId" => array('type' => 58, 'tag' => -5), + "commander" => array('type' => 46, 'tag' => -4), + "commanderLevel" => array('type' => 6, 'tag' => -3), + "hasSilencePenalty" => array('type' => 13, 'tag' => -2), + "tandemId" => array('type' => 58, 'tag' => -1), +]), +65 => new ArrayNode( + new IntegerNode(5, 0), + 64 +), +66 => new StructNode([ + "phase" => array('type' => 12, 'tag' => -11), + "maxUsers" => array('type' => 2, 'tag' => -10), + "maxObservers" => array('type' => 2, 'tag' => -9), + "slots" => array('type' => 65, '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' +), +67 => new StructNode([ + "userInitialData" => array('type' => 48, 'tag' => -3), + "gameDescription" => array('type' => 57, 'tag' => -2), + "lobbyState" => array('type' => 66, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\SyncLobbyState' +), +68 => new StructNode([ + "syncLobbyState" => array('type' => 67, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\InitData' +), +69 => new StructNode([ + "name" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankFileEvent' +), +70 => new BlobNode(new IntegerNode(6, 0)), +71 => new StructNode([ + "name" => array('type' => 70, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSectionEvent' +), +72 => new StructNode([ + "name" => array('type' => 70, 'tag' => -3), + "type" => array('type' => 6, 'tag' => -2), + "data" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankKeyEvent' +), +73 => new StructNode([ + "type" => array('type' => 6, 'tag' => -3), + "name" => array('type' => 70, 'tag' => -2), + "data" => array('type' => 34, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankValueEvent' +), +74 => new ArrayNode( + new IntegerNode(5, 0), + 10, + 'Rogiel\StarReplay\Event\Game\Entity\BankSignature' + +), +75 => new StructNode([ + "signature" => array('type' => 74, 'tag' => -2), + "toonHandle" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSignatureEvent' +), +76 => 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' +), +77 => new StructNode([ +], + 'Rogiel\StarReplay\Event\Message\ServerPingMessage' +), +78 => new IntegerNode(16, 0), +79 => new StructNode([ + "x" => array('type' => 78, 'tag' => -2), + "y" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +80 => new StructNode([ + "which" => array('type' => 12, 'tag' => -2), + "target" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraSaveEvent' +), +81 => 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' +), +82 => new StructNode([ + "sequence" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerResetEvent' +), +83 => new IntegerNode(32, -2147483648), +84 => new StructNode([ + "x" => array('type' => 83, 'tag' => -2), + "y" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +85 => new StructNode([ + "point" => array('type' => 84, 'tag' => -4), + "time" => array('type' => 83, 'tag' => -3), + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +]), +86 => new StructNode([ + "data" => array('type' => 85, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameCheatEvent' +), +87 => new IntegerNode(25, 0), +88 => new StructNode([ + "abilLink" => array('type' => 78, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "abilCmdData" => array('type' => 25, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\Ability' +), +89 => new OptionalNode(88), +90 => new NullNode(), +91 => new IntegerNode(20, 0), +92 => new StructNode([ + "x" => array('type' => 91, 'tag' => -3), + "y" => array('type' => 91, 'tag' => -2), + "z" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +93 => new StructNode([ + "targetUnitFlags" => array('type' => 78, 'tag' => -7), + "timer" => array('type' => 10, 'tag' => -6), + "tag" => array('type' => 6, 'tag' => -5), + "snapshotUnitLink" => array('type' => 78, 'tag' => -4), + "snapshotControlPlayerId" => array('type' => 58, 'tag' => -3), + "snapshotUpkeepPlayerId" => array('type' => 58, 'tag' => -2), + "snapshotPoint" => array('type' => 92, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\TargetUnit' +), +94 => new ChoiceNode(new IntegerNode(2), [ + 0 => 90, + 1 => 92, + 2 => 93, + 3 => 6, +]), +95 => new IntegerNode(32, 1), +96 => new StructNode([ + "cmdFlags" => array('type' => 87, 'tag' => -6), + "abil" => array('type' => 89, 'tag' => -5), + "data" => array('type' => 94, 'tag' => -4), + "sequence" => array('type' => 95, 'tag' => -3), + "otherUnit" => array('type' => 43, 'tag' => -2), + "unitGroup" => array('type' => 43, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdEvent' +), +97 => new IntegerNode(9, 0), +98 => new BitArrayNode( + new IntegerNode(9, 0) +, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateMask'), +99 => new ArrayNode( + new IntegerNode(9, 0), + 97, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateZeroIndices' + +), +100 => new ChoiceNode(new IntegerNode(2), [ + 0 => 90, + 1 => 98, + 2 => 99, + 3 => 99, +]), +101 => new StructNode([ + "unitLink" => array('type' => 78, 'tag' => -4), + "subgroupPriority" => array('type' => 10, 'tag' => -3), + "intraSubgroupPriority" => array('type' => 10, 'tag' => -2), + "count" => array('type' => 97, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SubgroupUnit' +), +102 => new ArrayNode( + new IntegerNode(9, 0), + 101 +), +103 => new StructNode([ + "subgroupIndex" => array('type' => 97, 'tag' => -4), + "removeMask" => array('type' => 100, 'tag' => -3), + "addSubgroups" => array('type' => 102, 'tag' => -2), + "addUnitTags" => array('type' => 63, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SelectionDelta' +), +104 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "delta" => array('type' => 103, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionDeltaEvent' +), +105 => new StructNode([ + "controlGroupIndex" => array('type' => 1, 'tag' => -3), + "controlGroupUpdate" => array('type' => 12, 'tag' => -2), + "mask" => array('type' => 100, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ControlGroupUpdateEvent' +), +106 => new StructNode([ + "count" => array('type' => 97, 'tag' => -6), + "subgroupCount" => array('type' => 97, 'tag' => -5), + "activeSubgroupIndex" => array('type' => 97, 'tag' => -4), + "unitTagsChecksum" => array('type' => 6, 'tag' => -3), + "subgroupIndicesChecksum" => array('type' => 6, 'tag' => -2), + "subgroupsChecksum" => array('type' => 6, 'tag' => -1), +]), +107 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "selectionSyncData" => array('type' => 106, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionSyncCheckEvent' +), +108 => new ArrayNode( + new IntegerNode(3, 0), + 83, + 'Rogiel\StarReplay\Event\Game\Entity\ResourceRequest' + +), +109 => new StructNode([ + "recipientId" => array('type' => 1, 'tag' => -2), + "resources" => array('type' => 108, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceTradeEvent' +), +110 => new StructNode([ + "chatMessage" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerChatMessageEvent' +), +111 => new IntegerNode(8, -128), +112 => new StructNode([ + "x" => array('type' => 83, 'tag' => -3), + "y" => array('type' => 83, 'tag' => -2), + "z" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +113 => new StructNode([ + "beacon" => array('type' => 111, 'tag' => -9), + "ally" => array('type' => 111, 'tag' => -8), + "flags" => array('type' => 111, 'tag' => -7), + "build" => array('type' => 111, 'tag' => -6), + "targetUnitTag" => array('type' => 6, 'tag' => -5), + "targetUnitSnapshotUnitLink" => array('type' => 78, 'tag' => -4), + "targetUnitSnapshotUpkeepPlayerId" => array('type' => 111, 'tag' => -3), + "targetUnitSnapshotControlPlayerId" => array('type' => 111, 'tag' => -2), + "targetPoint" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AICommunicateEvent' +), +114 => new StructNode([ + "speed" => array('type' => 12, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SetAbsoluteGameSpeedEvent' +), +115 => new StructNode([ + "delta" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AddAbsoluteGameSpeedEvent' +), +116 => new StructNode([ + "point" => array('type' => 84, 'tag' => -9), + "unit" => array('type' => 6, 'tag' => -8), + "unitLink" => array('type' => 78, 'tag' => -7), + "unitControlPlayerId" => array('type' => 58, 'tag' => -6), + "unitUpkeepPlayerId" => array('type' => 58, 'tag' => -5), + "unitPosition" => array('type' => 92, 'tag' => -4), + "unitIsUnderConstruction" => array('type' => 13, 'tag' => -3), + "pingedMinimap" => array('type' => 13, 'tag' => -2), + "option" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPingEvent' +), +117 => new StructNode([ + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BroadcastCheatEvent' +), +118 => new StructNode([ + "alliance" => array('type' => 6, 'tag' => -2), + "control" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AllianceEvent' +), +119 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitClickEvent' +), +120 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -2), + "flags" => array('type' => 10, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitHighlightEvent' +), +121 => new StructNode([ + "conversationId" => array('type' => 83, 'tag' => -2), + "replyId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerReplySelectedEvent' +), +122 => new OptionalNode(20), +123 => new StructNode([ + "gameUserId" => array('type' => 1, 'tag' => -6), + "observe" => array('type' => 24, 'tag' => -5), + "name" => array('type' => 9, 'tag' => -4), + "toonHandle" => array('type' => 122, 'tag' => -3), + "clanTag" => array('type' => 41, 'tag' => -2), + "clanLogo" => array('type' => 42, 'tag' => -1), +]), +124 => new ArrayNode( + new IntegerNode(5, 0), + 123 +), +125 => new IntegerNode(1, 0), +126 => new StructNode([ + "userInfos" => array('type' => 124, 'tag' => -2), + "method" => array('type' => 125, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HijackReplayGameEvent' +), +127 => new StructNode([ + "purchaseItemId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseItemChangedEvent' +), +128 => new StructNode([ + "difficultyLevel" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerVictoryPanelPlayMissionAgainEvent' +), +129 => new ChoiceNode(new IntegerNode(3), [ + 0 => 90, + 1 => 13, + 2 => 6, + 3 => 83, + 4 => 30, + 5 => 6, +]), +130 => new StructNode([ + "controlId" => array('type' => 83, 'tag' => -3), + "eventType" => array('type' => 83, 'tag' => -2), + "eventData" => array('type' => 129, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerDialogControlEvent' +), +131 => new StructNode([ + "soundHash" => array('type' => 6, 'tag' => -2), + "length" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthQueryEvent' +), +132 => new ArrayNode( + new IntegerNode(7, 0), + 6 +), +133 => new StructNode([ + "soundHash" => array('type' => 132, 'tag' => -2), + "length" => array('type' => 132, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SoundLengthSync' +), +134 => new StructNode([ + "syncInfo" => array('type' => 133, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthSyncEvent' +), +135 => new StructNode([ + "queryId" => array('type' => 78, 'tag' => -3), + "lengthMs" => array('type' => 6, 'tag' => -2), + "finishGameLoop" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByNameEvent' +), +136 => new StructNode([ + "queryId" => array('type' => 78, 'tag' => -2), + "lengthMs" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByPropsEvent' +), +137 => new StructNode([ + "animWaitQueryId" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimOffsetEvent' +), +138 => new StructNode([ + "sound" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundOffsetEvent' +), +139 => new StructNode([ + "transmissionId" => array('type' => 83, 'tag' => -2), + "thread" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionOffsetEvent' +), +140 => new StructNode([ + "transmissionId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionCompleteEvent' +), +141 => new OptionalNode(79), +142 => new OptionalNode(78), +143 => new OptionalNode(111), +144 => new StructNode([ + "target" => array('type' => 141, 'tag' => -6), + "distance" => array('type' => 142, 'tag' => -5), + "pitch" => array('type' => 142, 'tag' => -4), + "yaw" => array('type' => 142, 'tag' => -3), + "reason" => array('type' => 143, 'tag' => -2), + "follow" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraUpdateEvent' +), +145 => new StructNode([ + "skipType" => array('type' => 125, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerConversationSkippedEvent' +), +146 => new IntegerNode(11, 0), +147 => new StructNode([ + "x" => array('type' => 146, 'tag' => -2), + "y" => array('type' => 146, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +148 => new StructNode([ + "button" => array('type' => 6, 'tag' => -5), + "down" => array('type' => 13, 'tag' => -4), + "posUI" => array('type' => 147, 'tag' => -3), + "posWorld" => array('type' => 92, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseClickedEvent' +), +149 => new StructNode([ + "posUI" => array('type' => 147, 'tag' => -3), + "posWorld" => array('type' => 92, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseMovedEvent' +), +150 => new StructNode([ + "achievementLink" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AchievementAwardedEvent' +), +151 => new StructNode([ + "hotkey" => array('type' => 6, 'tag' => -2), + "down" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerHotkeyPressedEvent' +), +152 => new StructNode([ + "abilLink" => array('type' => 78, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "state" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTargetModeUpdateEvent' +), +153 => new StructNode([ + "soundtrack" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundtrackDoneEvent' +), +154 => new StructNode([ + "planetId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPlanetMissionSelectedEvent' +), +155 => new StructNode([ + "key" => array('type' => 111, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerKeyPressedEvent' +), +156 => new StructNode([ + "resources" => array('type' => 108, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestEvent' +), +157 => new StructNode([ + "fulfillRequestId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestFulfillEvent' +), +158 => new StructNode([ + "cancelRequestId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestCancelEvent' +), +159 => new StructNode([ + "error" => array('type' => 83, 'tag' => -2), + "abil" => array('type' => 89, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCommandErrorEvent' +), +160 => new StructNode([ + "researchItemId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerResearchPanelSelectionChangedEvent' +), +161 => new StructNode([ + "mercenaryId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMercenaryPanelSelectionChangedEvent' +), +162 => new StructNode([ + "battleReportId" => array('type' => 83, 'tag' => -2), + "difficultyLevel" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelPlayMissionEvent' +), +163 => new StructNode([ + "battleReportId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelSelectionChangedEvent' +), +164 => new IntegerNode(19, 0), +165 => new StructNode([ + "decrementMs" => array('type' => 164, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\DecrementGameTimeRemainingEvent' +), +166 => new StructNode([ + "portraitId" => array('type' => 83, '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' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCustomDialogDismissedEvent' +), +169 => new StructNode([ + "gameMenuItemIndex" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerGameMenuItemSelectedEvent' +), +170 => new IntegerNode(16, -32768), +171 => new StructNode([ + "wheelSpin" => array('type' => 170, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseWheelEvent' +), +172 => new StructNode([ + "purchaseCategoryId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseCategoryChangedEvent' +), +173 => new StructNode([ + "button" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerButtonPressedEvent' +), +174 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -2), + "bookmarkName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneBookmarkFiredEvent' +), +175 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneEndSceneFiredEvent' +), +176 => new StructNode([ + "cutsceneId" => array('type' => 83, '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' => 83, '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' => 122, '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(95), +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' => 92, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetPointEvent' +), +183 => new StructNode([ + "target" => array('type' => 93, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetUnitEvent' +), +184 => new StructNode([ + "catalog" => array('type' => 10, 'tag' => -4), + "entry" => array('type' => 78, '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' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\PingMessage' +), +189 => new StructNode([ + "progress" => array('type' => 83, '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' => 83, 'tag' => 0), + "scoreValueVespeneCurrent" => array('type' => 83, 'tag' => 1), + "scoreValueMineralsCollectionRate" => array('type' => 83, 'tag' => 2), + "scoreValueVespeneCollectionRate" => array('type' => 83, 'tag' => 3), + "scoreValueWorkersActiveCount" => array('type' => 83, 'tag' => 4), + "scoreValueMineralsUsedInProgressArmy" => array('type' => 83, 'tag' => 5), + "scoreValueMineralsUsedInProgressEconomy" => array('type' => 83, 'tag' => 6), + "scoreValueMineralsUsedInProgressTechnology" => array('type' => 83, 'tag' => 7), + "scoreValueVespeneUsedInProgressArmy" => array('type' => 83, 'tag' => 8), + "scoreValueVespeneUsedInProgressEconomy" => array('type' => 83, 'tag' => 9), + "scoreValueVespeneUsedInProgressTechnology" => array('type' => 83, 'tag' => 10), + "scoreValueMineralsUsedCurrentArmy" => array('type' => 83, 'tag' => 11), + "scoreValueMineralsUsedCurrentEconomy" => array('type' => 83, 'tag' => 12), + "scoreValueMineralsUsedCurrentTechnology" => array('type' => 83, 'tag' => 13), + "scoreValueVespeneUsedCurrentArmy" => array('type' => 83, 'tag' => 14), + "scoreValueVespeneUsedCurrentEconomy" => array('type' => 83, 'tag' => 15), + "scoreValueVespeneUsedCurrentTechnology" => array('type' => 83, 'tag' => 16), + "scoreValueMineralsLostArmy" => array('type' => 83, 'tag' => 17), + "scoreValueMineralsLostEconomy" => array('type' => 83, 'tag' => 18), + "scoreValueMineralsLostTechnology" => array('type' => 83, 'tag' => 19), + "scoreValueVespeneLostArmy" => array('type' => 83, 'tag' => 20), + "scoreValueVespeneLostEconomy" => array('type' => 83, 'tag' => 21), + "scoreValueVespeneLostTechnology" => array('type' => 83, 'tag' => 22), + "scoreValueMineralsKilledArmy" => array('type' => 83, 'tag' => 23), + "scoreValueMineralsKilledEconomy" => array('type' => 83, 'tag' => 24), + "scoreValueMineralsKilledTechnology" => array('type' => 83, 'tag' => 25), + "scoreValueVespeneKilledArmy" => array('type' => 83, 'tag' => 26), + "scoreValueVespeneKilledEconomy" => array('type' => 83, 'tag' => 27), + "scoreValueVespeneKilledTechnology" => array('type' => 83, 'tag' => 28), + "scoreValueFoodUsed" => array('type' => 83, 'tag' => 29), + "scoreValueFoodMade" => array('type' => 83, 'tag' => 30), + "scoreValueMineralsUsedActiveForces" => array('type' => 83, 'tag' => 31), + "scoreValueVespeneUsedActiveForces" => array('type' => 83, 'tag' => 32), + "scoreValueMineralsFriendlyFireArmy" => array('type' => 83, 'tag' => 33), + "scoreValueMineralsFriendlyFireEconomy" => array('type' => 83, 'tag' => 34), + "scoreValueMineralsFriendlyFireTechnology" => array('type' => 83, 'tag' => 35), + "scoreValueVespeneFriendlyFireArmy" => array('type' => 83, 'tag' => 36), + "scoreValueVespeneFriendlyFireEconomy" => array('type' => 83, 'tag' => 37), + "scoreValueVespeneFriendlyFireTechnology" => array('type' => 83, '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' => 83, '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), + 83, + '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' +), +] +); +Version41128::$GAME_EVENT_MAPPING = [ + 5 => 77, + 7 => 76, + 9 => 69, + 10 => 71, + 11 => 72, + 12 => 73, + 13 => 75, + 14 => 80, + 21 => 81, + 22 => 77, + 23 => 77, + 25 => 82, + 26 => 86, + 27 => 96, + 28 => 104, + 29 => 105, + 30 => 107, + 31 => 109, + 32 => 110, + 33 => 113, + 34 => 114, + 35 => 115, + 36 => 116, + 37 => 117, + 38 => 118, + 39 => 119, + 40 => 120, + 41 => 121, + 43 => 126, + 44 => 77, + 45 => 131, + 46 => 138, + 47 => 139, + 48 => 140, + 49 => 144, + 50 => 77, + 51 => 127, + 52 => 77, + 53 => 128, + 54 => 77, + 55 => 130, + 56 => 134, + 57 => 145, + 58 => 148, + 59 => 149, + 60 => 150, + 61 => 151, + 62 => 152, + 63 => 77, + 64 => 153, + 65 => 154, + 66 => 155, + 67 => 167, + 68 => 77, + 69 => 77, + 70 => 156, + 71 => 157, + 72 => 158, + 73 => 77, + 74 => 77, + 75 => 160, + 76 => 159, + 77 => 77, + 78 => 77, + 79 => 161, + 80 => 77, + 81 => 77, + 82 => 162, + 83 => 163, + 84 => 163, + 85 => 128, + 86 => 77, + 87 => 77, + 88 => 165, + 89 => 166, + 90 => 168, + 91 => 169, + 92 => 171, + 93 => 127, + 94 => 172, + 95 => 173, + 96 => 77, + 97 => 174, + 98 => 175, + 99 => 176, + 100 => 177, + 101 => 178, + 102 => 179, + 103 => 181, + 104 => 182, + 105 => 183, + 106 => 135, + 107 => 136, + 108 => 137, + 109 => 184, + 110 => 185, + 111 => 77, + 112 => 186, +]; +Version41128::$MESSAGE_EVENT_MAPPING = [ + 0 => 187, + 1 => 188, + 2 => 189, + 3 => 77, + 4 => 190, +]; +Version41128::$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/Version41219.php b/src/Version/Version41219.php new file mode 100644 index 0000000..40ece56 --- /dev/null +++ b/src/Version/Version41219.php @@ -0,0 +1,1343 @@ +getNode(18); + } + + public function getReplayInitDataNode() { + return self::$TREE->getNode(68); + } + + 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 + ); + } + +} + +Version41219::$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), + "fixedFileHash" => 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' => -26), + "gameCacheName" => array('type' => 29, 'tag' => -25), + "gameOptions" => array('type' => 49, 'tag' => -24), + "gameSpeed" => array('type' => 12, 'tag' => -23), + "gameType" => array('type' => 12, 'tag' => -22), + "maxUsers" => array('type' => 2, 'tag' => -21), + "maxObservers" => array('type' => 2, 'tag' => -20), + "maxPlayers" => array('type' => 2, 'tag' => -19), + "maxTeams" => array('type' => 50, 'tag' => -18), + "maxColors" => array('type' => 3, 'tag' => -17), + "maxRaces" => array('type' => 51, 'tag' => -16), + "maxControls" => array('type' => 10, 'tag' => -15), + "mapSizeX" => array('type' => 10, 'tag' => -14), + "mapSizeY" => array('type' => 10, 'tag' => -13), + "mapFileSyncChecksum" => array('type' => 6, 'tag' => -12), + "mapFileName" => array('type' => 30, 'tag' => -11), + "mapAuthorName" => array('type' => 9, 'tag' => -10), + "modFileSyncChecksum" => array('type' => 6, 'tag' => -9), + "slotDescriptions" => array('type' => 56, 'tag' => -8), + "defaultDifficulty" => array('type' => 3, 'tag' => -7), + "defaultAIBuild" => array('type' => 10, 'tag' => -6), + "cacheHandles" => array('type' => 36, 'tag' => -5), + "hasExtensionMod" => 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 StructNode([ + "control" => array('type' => 10, 'tag' => -23), + "userId" => array('type' => 58, 'tag' => -22), + "teamId" => array('type' => 1, 'tag' => -21), + "colorPref" => array('type' => 60, 'tag' => -20), + "racePref" => array('type' => 44, 'tag' => -19), + "difficulty" => array('type' => 3, 'tag' => -18), + "aiBuild" => array('type' => 10, 'tag' => -17), + "handicap" => array('type' => 0, 'tag' => -16), + "observe" => array('type' => 24, 'tag' => -15), + "logoIndex" => array('type' => 6, 'tag' => -14), + "hero" => array('type' => 46, 'tag' => -13), + "skin" => array('type' => 46, 'tag' => -12), + "mount" => array('type' => 46, 'tag' => -11), + "artifacts" => array('type' => 61, 'tag' => -10), + "workingSetSlotId" => array('type' => 25, 'tag' => -9), + "rewards" => array('type' => 62, 'tag' => -8), + "toonHandle" => array('type' => 20, 'tag' => -7), + "licenses" => array('type' => 63, 'tag' => -6), + "tandemLeaderId" => array('type' => 58, 'tag' => -5), + "commander" => array('type' => 46, 'tag' => -4), + "commanderLevel" => array('type' => 6, 'tag' => -3), + "hasSilencePenalty" => array('type' => 13, 'tag' => -2), + "tandemId" => array('type' => 58, 'tag' => -1), +]), +65 => new ArrayNode( + new IntegerNode(5, 0), + 64 +), +66 => new StructNode([ + "phase" => array('type' => 12, 'tag' => -11), + "maxUsers" => array('type' => 2, 'tag' => -10), + "maxObservers" => array('type' => 2, 'tag' => -9), + "slots" => array('type' => 65, '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' +), +67 => new StructNode([ + "userInitialData" => array('type' => 48, 'tag' => -3), + "gameDescription" => array('type' => 57, 'tag' => -2), + "lobbyState" => array('type' => 66, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\SyncLobbyState' +), +68 => new StructNode([ + "syncLobbyState" => array('type' => 67, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\InitData' +), +69 => new StructNode([ + "name" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankFileEvent' +), +70 => new BlobNode(new IntegerNode(6, 0)), +71 => new StructNode([ + "name" => array('type' => 70, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSectionEvent' +), +72 => new StructNode([ + "name" => array('type' => 70, 'tag' => -3), + "type" => array('type' => 6, 'tag' => -2), + "data" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankKeyEvent' +), +73 => new StructNode([ + "type" => array('type' => 6, 'tag' => -3), + "name" => array('type' => 70, 'tag' => -2), + "data" => array('type' => 34, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankValueEvent' +), +74 => new ArrayNode( + new IntegerNode(5, 0), + 10, + 'Rogiel\StarReplay\Event\Game\Entity\BankSignature' + +), +75 => new StructNode([ + "signature" => array('type' => 74, 'tag' => -2), + "toonHandle" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSignatureEvent' +), +76 => 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' +), +77 => new StructNode([ +], + 'Rogiel\StarReplay\Event\Message\ServerPingMessage' +), +78 => new IntegerNode(16, 0), +79 => new StructNode([ + "x" => array('type' => 78, 'tag' => -2), + "y" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +80 => new StructNode([ + "which" => array('type' => 12, 'tag' => -2), + "target" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraSaveEvent' +), +81 => 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' +), +82 => new StructNode([ + "sequence" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerResetEvent' +), +83 => new IntegerNode(32, -2147483648), +84 => new StructNode([ + "x" => array('type' => 83, 'tag' => -2), + "y" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +85 => new StructNode([ + "point" => array('type' => 84, 'tag' => -4), + "time" => array('type' => 83, 'tag' => -3), + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +]), +86 => new StructNode([ + "data" => array('type' => 85, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameCheatEvent' +), +87 => new IntegerNode(25, 0), +88 => new StructNode([ + "abilLink" => array('type' => 78, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "abilCmdData" => array('type' => 25, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\Ability' +), +89 => new OptionalNode(88), +90 => new NullNode(), +91 => new IntegerNode(20, 0), +92 => new StructNode([ + "x" => array('type' => 91, 'tag' => -3), + "y" => array('type' => 91, 'tag' => -2), + "z" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +93 => new StructNode([ + "targetUnitFlags" => array('type' => 78, 'tag' => -7), + "timer" => array('type' => 10, 'tag' => -6), + "tag" => array('type' => 6, 'tag' => -5), + "snapshotUnitLink" => array('type' => 78, 'tag' => -4), + "snapshotControlPlayerId" => array('type' => 58, 'tag' => -3), + "snapshotUpkeepPlayerId" => array('type' => 58, 'tag' => -2), + "snapshotPoint" => array('type' => 92, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\TargetUnit' +), +94 => new ChoiceNode(new IntegerNode(2), [ + 0 => 90, + 1 => 92, + 2 => 93, + 3 => 6, +]), +95 => new IntegerNode(32, 1), +96 => new StructNode([ + "cmdFlags" => array('type' => 87, 'tag' => -6), + "abil" => array('type' => 89, 'tag' => -5), + "data" => array('type' => 94, 'tag' => -4), + "sequence" => array('type' => 95, 'tag' => -3), + "otherUnit" => array('type' => 43, 'tag' => -2), + "unitGroup" => array('type' => 43, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdEvent' +), +97 => new IntegerNode(9, 0), +98 => new BitArrayNode( + new IntegerNode(9, 0) +, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateMask'), +99 => new ArrayNode( + new IntegerNode(9, 0), + 97, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateZeroIndices' + +), +100 => new ChoiceNode(new IntegerNode(2), [ + 0 => 90, + 1 => 98, + 2 => 99, + 3 => 99, +]), +101 => new StructNode([ + "unitLink" => array('type' => 78, 'tag' => -4), + "subgroupPriority" => array('type' => 10, 'tag' => -3), + "intraSubgroupPriority" => array('type' => 10, 'tag' => -2), + "count" => array('type' => 97, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SubgroupUnit' +), +102 => new ArrayNode( + new IntegerNode(9, 0), + 101 +), +103 => new StructNode([ + "subgroupIndex" => array('type' => 97, 'tag' => -4), + "removeMask" => array('type' => 100, 'tag' => -3), + "addSubgroups" => array('type' => 102, 'tag' => -2), + "addUnitTags" => array('type' => 63, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SelectionDelta' +), +104 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "delta" => array('type' => 103, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionDeltaEvent' +), +105 => new StructNode([ + "controlGroupIndex" => array('type' => 1, 'tag' => -3), + "controlGroupUpdate" => array('type' => 12, 'tag' => -2), + "mask" => array('type' => 100, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ControlGroupUpdateEvent' +), +106 => new StructNode([ + "count" => array('type' => 97, 'tag' => -6), + "subgroupCount" => array('type' => 97, 'tag' => -5), + "activeSubgroupIndex" => array('type' => 97, 'tag' => -4), + "unitTagsChecksum" => array('type' => 6, 'tag' => -3), + "subgroupIndicesChecksum" => array('type' => 6, 'tag' => -2), + "subgroupsChecksum" => array('type' => 6, 'tag' => -1), +]), +107 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "selectionSyncData" => array('type' => 106, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionSyncCheckEvent' +), +108 => new ArrayNode( + new IntegerNode(3, 0), + 83, + 'Rogiel\StarReplay\Event\Game\Entity\ResourceRequest' + +), +109 => new StructNode([ + "recipientId" => array('type' => 1, 'tag' => -2), + "resources" => array('type' => 108, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceTradeEvent' +), +110 => new StructNode([ + "chatMessage" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerChatMessageEvent' +), +111 => new IntegerNode(8, -128), +112 => new StructNode([ + "x" => array('type' => 83, 'tag' => -3), + "y" => array('type' => 83, 'tag' => -2), + "z" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +113 => new StructNode([ + "beacon" => array('type' => 111, 'tag' => -9), + "ally" => array('type' => 111, 'tag' => -8), + "flags" => array('type' => 111, 'tag' => -7), + "build" => array('type' => 111, 'tag' => -6), + "targetUnitTag" => array('type' => 6, 'tag' => -5), + "targetUnitSnapshotUnitLink" => array('type' => 78, 'tag' => -4), + "targetUnitSnapshotUpkeepPlayerId" => array('type' => 111, 'tag' => -3), + "targetUnitSnapshotControlPlayerId" => array('type' => 111, 'tag' => -2), + "targetPoint" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AICommunicateEvent' +), +114 => new StructNode([ + "speed" => array('type' => 12, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SetAbsoluteGameSpeedEvent' +), +115 => new StructNode([ + "delta" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AddAbsoluteGameSpeedEvent' +), +116 => new StructNode([ + "point" => array('type' => 84, 'tag' => -9), + "unit" => array('type' => 6, 'tag' => -8), + "unitLink" => array('type' => 78, 'tag' => -7), + "unitControlPlayerId" => array('type' => 58, 'tag' => -6), + "unitUpkeepPlayerId" => array('type' => 58, 'tag' => -5), + "unitPosition" => array('type' => 92, 'tag' => -4), + "unitIsUnderConstruction" => array('type' => 13, 'tag' => -3), + "pingedMinimap" => array('type' => 13, 'tag' => -2), + "option" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPingEvent' +), +117 => new StructNode([ + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BroadcastCheatEvent' +), +118 => new StructNode([ + "alliance" => array('type' => 6, 'tag' => -2), + "control" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AllianceEvent' +), +119 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitClickEvent' +), +120 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -2), + "flags" => array('type' => 10, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitHighlightEvent' +), +121 => new StructNode([ + "conversationId" => array('type' => 83, 'tag' => -2), + "replyId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerReplySelectedEvent' +), +122 => new OptionalNode(20), +123 => new StructNode([ + "gameUserId" => array('type' => 1, 'tag' => -6), + "observe" => array('type' => 24, 'tag' => -5), + "name" => array('type' => 9, 'tag' => -4), + "toonHandle" => array('type' => 122, 'tag' => -3), + "clanTag" => array('type' => 41, 'tag' => -2), + "clanLogo" => array('type' => 42, 'tag' => -1), +]), +124 => new ArrayNode( + new IntegerNode(5, 0), + 123 +), +125 => new IntegerNode(1, 0), +126 => new StructNode([ + "userInfos" => array('type' => 124, 'tag' => -2), + "method" => array('type' => 125, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HijackReplayGameEvent' +), +127 => new StructNode([ + "purchaseItemId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseItemChangedEvent' +), +128 => new StructNode([ + "difficultyLevel" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerVictoryPanelPlayMissionAgainEvent' +), +129 => new ChoiceNode(new IntegerNode(3), [ + 0 => 90, + 1 => 13, + 2 => 6, + 3 => 83, + 4 => 30, + 5 => 6, +]), +130 => new StructNode([ + "controlId" => array('type' => 83, 'tag' => -3), + "eventType" => array('type' => 83, 'tag' => -2), + "eventData" => array('type' => 129, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerDialogControlEvent' +), +131 => new StructNode([ + "soundHash" => array('type' => 6, 'tag' => -2), + "length" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthQueryEvent' +), +132 => new ArrayNode( + new IntegerNode(7, 0), + 6 +), +133 => new StructNode([ + "soundHash" => array('type' => 132, 'tag' => -2), + "length" => array('type' => 132, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SoundLengthSync' +), +134 => new StructNode([ + "syncInfo" => array('type' => 133, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthSyncEvent' +), +135 => new StructNode([ + "queryId" => array('type' => 78, 'tag' => -3), + "lengthMs" => array('type' => 6, 'tag' => -2), + "finishGameLoop" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByNameEvent' +), +136 => new StructNode([ + "queryId" => array('type' => 78, 'tag' => -2), + "lengthMs" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByPropsEvent' +), +137 => new StructNode([ + "animWaitQueryId" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimOffsetEvent' +), +138 => new StructNode([ + "sound" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundOffsetEvent' +), +139 => new StructNode([ + "transmissionId" => array('type' => 83, 'tag' => -2), + "thread" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionOffsetEvent' +), +140 => new StructNode([ + "transmissionId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionCompleteEvent' +), +141 => new OptionalNode(79), +142 => new OptionalNode(78), +143 => new OptionalNode(111), +144 => new StructNode([ + "target" => array('type' => 141, 'tag' => -6), + "distance" => array('type' => 142, 'tag' => -5), + "pitch" => array('type' => 142, 'tag' => -4), + "yaw" => array('type' => 142, 'tag' => -3), + "reason" => array('type' => 143, 'tag' => -2), + "follow" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraUpdateEvent' +), +145 => new StructNode([ + "skipType" => array('type' => 125, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerConversationSkippedEvent' +), +146 => new IntegerNode(11, 0), +147 => new StructNode([ + "x" => array('type' => 146, 'tag' => -2), + "y" => array('type' => 146, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +148 => new StructNode([ + "button" => array('type' => 6, 'tag' => -5), + "down" => array('type' => 13, 'tag' => -4), + "posUI" => array('type' => 147, 'tag' => -3), + "posWorld" => array('type' => 92, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseClickedEvent' +), +149 => new StructNode([ + "posUI" => array('type' => 147, 'tag' => -3), + "posWorld" => array('type' => 92, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseMovedEvent' +), +150 => new StructNode([ + "achievementLink" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AchievementAwardedEvent' +), +151 => new StructNode([ + "hotkey" => array('type' => 6, 'tag' => -2), + "down" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerHotkeyPressedEvent' +), +152 => new StructNode([ + "abilLink" => array('type' => 78, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "state" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTargetModeUpdateEvent' +), +153 => new StructNode([ + "soundtrack" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundtrackDoneEvent' +), +154 => new StructNode([ + "planetId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPlanetMissionSelectedEvent' +), +155 => new StructNode([ + "key" => array('type' => 111, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerKeyPressedEvent' +), +156 => new StructNode([ + "resources" => array('type' => 108, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestEvent' +), +157 => new StructNode([ + "fulfillRequestId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestFulfillEvent' +), +158 => new StructNode([ + "cancelRequestId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestCancelEvent' +), +159 => new StructNode([ + "error" => array('type' => 83, 'tag' => -2), + "abil" => array('type' => 89, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCommandErrorEvent' +), +160 => new StructNode([ + "researchItemId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerResearchPanelSelectionChangedEvent' +), +161 => new StructNode([ + "mercenaryId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMercenaryPanelSelectionChangedEvent' +), +162 => new StructNode([ + "battleReportId" => array('type' => 83, 'tag' => -2), + "difficultyLevel" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelPlayMissionEvent' +), +163 => new StructNode([ + "battleReportId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelSelectionChangedEvent' +), +164 => new IntegerNode(19, 0), +165 => new StructNode([ + "decrementMs" => array('type' => 164, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\DecrementGameTimeRemainingEvent' +), +166 => new StructNode([ + "portraitId" => array('type' => 83, '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' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCustomDialogDismissedEvent' +), +169 => new StructNode([ + "gameMenuItemIndex" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerGameMenuItemSelectedEvent' +), +170 => new IntegerNode(16, -32768), +171 => new StructNode([ + "wheelSpin" => array('type' => 170, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseWheelEvent' +), +172 => new StructNode([ + "purchaseCategoryId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseCategoryChangedEvent' +), +173 => new StructNode([ + "button" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerButtonPressedEvent' +), +174 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -2), + "bookmarkName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneBookmarkFiredEvent' +), +175 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneEndSceneFiredEvent' +), +176 => new StructNode([ + "cutsceneId" => array('type' => 83, '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' => 83, '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' => 122, '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(95), +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' => 92, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetPointEvent' +), +183 => new StructNode([ + "target" => array('type' => 93, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetUnitEvent' +), +184 => new StructNode([ + "catalog" => array('type' => 10, 'tag' => -4), + "entry" => array('type' => 78, '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' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\PingMessage' +), +189 => new StructNode([ + "progress" => array('type' => 83, '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' => 83, 'tag' => 0), + "scoreValueVespeneCurrent" => array('type' => 83, 'tag' => 1), + "scoreValueMineralsCollectionRate" => array('type' => 83, 'tag' => 2), + "scoreValueVespeneCollectionRate" => array('type' => 83, 'tag' => 3), + "scoreValueWorkersActiveCount" => array('type' => 83, 'tag' => 4), + "scoreValueMineralsUsedInProgressArmy" => array('type' => 83, 'tag' => 5), + "scoreValueMineralsUsedInProgressEconomy" => array('type' => 83, 'tag' => 6), + "scoreValueMineralsUsedInProgressTechnology" => array('type' => 83, 'tag' => 7), + "scoreValueVespeneUsedInProgressArmy" => array('type' => 83, 'tag' => 8), + "scoreValueVespeneUsedInProgressEconomy" => array('type' => 83, 'tag' => 9), + "scoreValueVespeneUsedInProgressTechnology" => array('type' => 83, 'tag' => 10), + "scoreValueMineralsUsedCurrentArmy" => array('type' => 83, 'tag' => 11), + "scoreValueMineralsUsedCurrentEconomy" => array('type' => 83, 'tag' => 12), + "scoreValueMineralsUsedCurrentTechnology" => array('type' => 83, 'tag' => 13), + "scoreValueVespeneUsedCurrentArmy" => array('type' => 83, 'tag' => 14), + "scoreValueVespeneUsedCurrentEconomy" => array('type' => 83, 'tag' => 15), + "scoreValueVespeneUsedCurrentTechnology" => array('type' => 83, 'tag' => 16), + "scoreValueMineralsLostArmy" => array('type' => 83, 'tag' => 17), + "scoreValueMineralsLostEconomy" => array('type' => 83, 'tag' => 18), + "scoreValueMineralsLostTechnology" => array('type' => 83, 'tag' => 19), + "scoreValueVespeneLostArmy" => array('type' => 83, 'tag' => 20), + "scoreValueVespeneLostEconomy" => array('type' => 83, 'tag' => 21), + "scoreValueVespeneLostTechnology" => array('type' => 83, 'tag' => 22), + "scoreValueMineralsKilledArmy" => array('type' => 83, 'tag' => 23), + "scoreValueMineralsKilledEconomy" => array('type' => 83, 'tag' => 24), + "scoreValueMineralsKilledTechnology" => array('type' => 83, 'tag' => 25), + "scoreValueVespeneKilledArmy" => array('type' => 83, 'tag' => 26), + "scoreValueVespeneKilledEconomy" => array('type' => 83, 'tag' => 27), + "scoreValueVespeneKilledTechnology" => array('type' => 83, 'tag' => 28), + "scoreValueFoodUsed" => array('type' => 83, 'tag' => 29), + "scoreValueFoodMade" => array('type' => 83, 'tag' => 30), + "scoreValueMineralsUsedActiveForces" => array('type' => 83, 'tag' => 31), + "scoreValueVespeneUsedActiveForces" => array('type' => 83, 'tag' => 32), + "scoreValueMineralsFriendlyFireArmy" => array('type' => 83, 'tag' => 33), + "scoreValueMineralsFriendlyFireEconomy" => array('type' => 83, 'tag' => 34), + "scoreValueMineralsFriendlyFireTechnology" => array('type' => 83, 'tag' => 35), + "scoreValueVespeneFriendlyFireArmy" => array('type' => 83, 'tag' => 36), + "scoreValueVespeneFriendlyFireEconomy" => array('type' => 83, 'tag' => 37), + "scoreValueVespeneFriendlyFireTechnology" => array('type' => 83, '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' => 83, '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), + 83, + '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' +), +] +); +Version41219::$GAME_EVENT_MAPPING = [ + 5 => 77, + 7 => 76, + 9 => 69, + 10 => 71, + 11 => 72, + 12 => 73, + 13 => 75, + 14 => 80, + 21 => 81, + 22 => 77, + 23 => 77, + 25 => 82, + 26 => 86, + 27 => 96, + 28 => 104, + 29 => 105, + 30 => 107, + 31 => 109, + 32 => 110, + 33 => 113, + 34 => 114, + 35 => 115, + 36 => 116, + 37 => 117, + 38 => 118, + 39 => 119, + 40 => 120, + 41 => 121, + 43 => 126, + 44 => 77, + 45 => 131, + 46 => 138, + 47 => 139, + 48 => 140, + 49 => 144, + 50 => 77, + 51 => 127, + 52 => 77, + 53 => 128, + 54 => 77, + 55 => 130, + 56 => 134, + 57 => 145, + 58 => 148, + 59 => 149, + 60 => 150, + 61 => 151, + 62 => 152, + 63 => 77, + 64 => 153, + 65 => 154, + 66 => 155, + 67 => 167, + 68 => 77, + 69 => 77, + 70 => 156, + 71 => 157, + 72 => 158, + 73 => 77, + 74 => 77, + 75 => 160, + 76 => 159, + 77 => 77, + 78 => 77, + 79 => 161, + 80 => 77, + 81 => 77, + 82 => 162, + 83 => 163, + 84 => 163, + 85 => 128, + 86 => 77, + 87 => 77, + 88 => 165, + 89 => 166, + 90 => 168, + 91 => 169, + 92 => 171, + 93 => 127, + 94 => 172, + 95 => 173, + 96 => 77, + 97 => 174, + 98 => 175, + 99 => 176, + 100 => 177, + 101 => 178, + 102 => 179, + 103 => 181, + 104 => 182, + 105 => 183, + 106 => 135, + 107 => 136, + 108 => 137, + 109 => 184, + 110 => 185, + 111 => 77, + 112 => 186, +]; +Version41219::$MESSAGE_EVENT_MAPPING = [ + 0 => 187, + 1 => 188, + 2 => 189, + 3 => 77, + 4 => 190, +]; +Version41219::$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/Version41743.php b/src/Version/Version41743.php new file mode 100644 index 0000000..7b5b78c --- /dev/null +++ b/src/Version/Version41743.php @@ -0,0 +1,1342 @@ +getNode(18); + } + + public function getReplayInitDataNode() { + return self::$TREE->getNode(68); + } + + 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 + ); + } + +} + +Version41743::$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' => -26), + "gameCacheName" => array('type' => 29, 'tag' => -25), + "gameOptions" => array('type' => 49, 'tag' => -24), + "gameSpeed" => array('type' => 12, 'tag' => -23), + "gameType" => array('type' => 12, 'tag' => -22), + "maxUsers" => array('type' => 2, 'tag' => -21), + "maxObservers" => array('type' => 2, 'tag' => -20), + "maxPlayers" => array('type' => 2, 'tag' => -19), + "maxTeams" => array('type' => 50, 'tag' => -18), + "maxColors" => array('type' => 3, 'tag' => -17), + "maxRaces" => array('type' => 51, 'tag' => -16), + "maxControls" => array('type' => 10, 'tag' => -15), + "mapSizeX" => array('type' => 10, 'tag' => -14), + "mapSizeY" => array('type' => 10, 'tag' => -13), + "mapFileSyncChecksum" => array('type' => 6, 'tag' => -12), + "mapFileName" => array('type' => 30, 'tag' => -11), + "mapAuthorName" => array('type' => 9, 'tag' => -10), + "modFileSyncChecksum" => array('type' => 6, 'tag' => -9), + "slotDescriptions" => array('type' => 56, 'tag' => -8), + "defaultDifficulty" => array('type' => 3, 'tag' => -7), + "defaultAIBuild" => array('type' => 10, 'tag' => -6), + "cacheHandles" => array('type' => 36, 'tag' => -5), + "hasExtensionMod" => 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 StructNode([ + "control" => array('type' => 10, 'tag' => -23), + "userId" => array('type' => 58, 'tag' => -22), + "teamId" => array('type' => 1, 'tag' => -21), + "colorPref" => array('type' => 60, 'tag' => -20), + "racePref" => array('type' => 44, 'tag' => -19), + "difficulty" => array('type' => 3, 'tag' => -18), + "aiBuild" => array('type' => 10, 'tag' => -17), + "handicap" => array('type' => 0, 'tag' => -16), + "observe" => array('type' => 24, 'tag' => -15), + "logoIndex" => array('type' => 6, 'tag' => -14), + "hero" => array('type' => 46, 'tag' => -13), + "skin" => array('type' => 46, 'tag' => -12), + "mount" => array('type' => 46, 'tag' => -11), + "artifacts" => array('type' => 61, 'tag' => -10), + "workingSetSlotId" => array('type' => 25, 'tag' => -9), + "rewards" => array('type' => 62, 'tag' => -8), + "toonHandle" => array('type' => 20, 'tag' => -7), + "licenses" => array('type' => 63, 'tag' => -6), + "tandemLeaderId" => array('type' => 58, 'tag' => -5), + "commander" => array('type' => 46, 'tag' => -4), + "commanderLevel" => array('type' => 6, 'tag' => -3), + "hasSilencePenalty" => array('type' => 13, 'tag' => -2), + "tandemId" => array('type' => 58, 'tag' => -1), +]), +65 => new ArrayNode( + new IntegerNode(5, 0), + 64 +), +66 => new StructNode([ + "phase" => array('type' => 12, 'tag' => -11), + "maxUsers" => array('type' => 2, 'tag' => -10), + "maxObservers" => array('type' => 2, 'tag' => -9), + "slots" => array('type' => 65, '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' +), +67 => new StructNode([ + "userInitialData" => array('type' => 48, 'tag' => -3), + "gameDescription" => array('type' => 57, 'tag' => -2), + "lobbyState" => array('type' => 66, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\SyncLobbyState' +), +68 => new StructNode([ + "syncLobbyState" => array('type' => 67, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\InitData' +), +69 => new StructNode([ + "name" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankFileEvent' +), +70 => new BlobNode(new IntegerNode(6, 0)), +71 => new StructNode([ + "name" => array('type' => 70, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSectionEvent' +), +72 => new StructNode([ + "name" => array('type' => 70, 'tag' => -3), + "type" => array('type' => 6, 'tag' => -2), + "data" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankKeyEvent' +), +73 => new StructNode([ + "type" => array('type' => 6, 'tag' => -3), + "name" => array('type' => 70, 'tag' => -2), + "data" => array('type' => 34, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankValueEvent' +), +74 => new ArrayNode( + new IntegerNode(5, 0), + 10, + 'Rogiel\StarReplay\Event\Game\Entity\BankSignature' + +), +75 => new StructNode([ + "signature" => array('type' => 74, 'tag' => -2), + "toonHandle" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSignatureEvent' +), +76 => 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' +), +77 => new StructNode([ +], + 'Rogiel\StarReplay\Event\Message\ServerPingMessage' +), +78 => new IntegerNode(16, 0), +79 => new StructNode([ + "x" => array('type' => 78, 'tag' => -2), + "y" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +80 => new StructNode([ + "which" => array('type' => 12, 'tag' => -2), + "target" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraSaveEvent' +), +81 => 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' +), +82 => new StructNode([ + "sequence" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerResetEvent' +), +83 => new IntegerNode(32, -2147483648), +84 => new StructNode([ + "x" => array('type' => 83, 'tag' => -2), + "y" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +85 => new StructNode([ + "point" => array('type' => 84, 'tag' => -4), + "time" => array('type' => 83, 'tag' => -3), + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +]), +86 => new StructNode([ + "data" => array('type' => 85, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameCheatEvent' +), +87 => new IntegerNode(25, 0), +88 => new StructNode([ + "abilLink" => array('type' => 78, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "abilCmdData" => array('type' => 25, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\Ability' +), +89 => new OptionalNode(88), +90 => new NullNode(), +91 => new IntegerNode(20, 0), +92 => new StructNode([ + "x" => array('type' => 91, 'tag' => -3), + "y" => array('type' => 91, 'tag' => -2), + "z" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +93 => new StructNode([ + "targetUnitFlags" => array('type' => 78, 'tag' => -7), + "timer" => array('type' => 10, 'tag' => -6), + "tag" => array('type' => 6, 'tag' => -5), + "snapshotUnitLink" => array('type' => 78, 'tag' => -4), + "snapshotControlPlayerId" => array('type' => 58, 'tag' => -3), + "snapshotUpkeepPlayerId" => array('type' => 58, 'tag' => -2), + "snapshotPoint" => array('type' => 92, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\TargetUnit' +), +94 => new ChoiceNode(new IntegerNode(2), [ + 0 => 90, + 1 => 92, + 2 => 93, + 3 => 6, +]), +95 => new IntegerNode(32, 1), +96 => new StructNode([ + "cmdFlags" => array('type' => 87, 'tag' => -6), + "abil" => array('type' => 89, 'tag' => -5), + "data" => array('type' => 94, 'tag' => -4), + "sequence" => array('type' => 95, 'tag' => -3), + "otherUnit" => array('type' => 43, 'tag' => -2), + "unitGroup" => array('type' => 43, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdEvent' +), +97 => new IntegerNode(9, 0), +98 => new BitArrayNode( + new IntegerNode(9, 0) +, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateMask'), +99 => new ArrayNode( + new IntegerNode(9, 0), + 97, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateZeroIndices' + +), +100 => new ChoiceNode(new IntegerNode(2), [ + 0 => 90, + 1 => 98, + 2 => 99, + 3 => 99, +]), +101 => new StructNode([ + "unitLink" => array('type' => 78, 'tag' => -4), + "subgroupPriority" => array('type' => 10, 'tag' => -3), + "intraSubgroupPriority" => array('type' => 10, 'tag' => -2), + "count" => array('type' => 97, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SubgroupUnit' +), +102 => new ArrayNode( + new IntegerNode(9, 0), + 101 +), +103 => new StructNode([ + "subgroupIndex" => array('type' => 97, 'tag' => -4), + "removeMask" => array('type' => 100, 'tag' => -3), + "addSubgroups" => array('type' => 102, 'tag' => -2), + "addUnitTags" => array('type' => 63, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SelectionDelta' +), +104 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "delta" => array('type' => 103, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionDeltaEvent' +), +105 => new StructNode([ + "controlGroupIndex" => array('type' => 1, 'tag' => -3), + "controlGroupUpdate" => array('type' => 12, 'tag' => -2), + "mask" => array('type' => 100, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ControlGroupUpdateEvent' +), +106 => new StructNode([ + "count" => array('type' => 97, 'tag' => -6), + "subgroupCount" => array('type' => 97, 'tag' => -5), + "activeSubgroupIndex" => array('type' => 97, 'tag' => -4), + "unitTagsChecksum" => array('type' => 6, 'tag' => -3), + "subgroupIndicesChecksum" => array('type' => 6, 'tag' => -2), + "subgroupsChecksum" => array('type' => 6, 'tag' => -1), +]), +107 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "selectionSyncData" => array('type' => 106, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionSyncCheckEvent' +), +108 => new ArrayNode( + new IntegerNode(3, 0), + 83, + 'Rogiel\StarReplay\Event\Game\Entity\ResourceRequest' + +), +109 => new StructNode([ + "recipientId" => array('type' => 1, 'tag' => -2), + "resources" => array('type' => 108, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceTradeEvent' +), +110 => new StructNode([ + "chatMessage" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerChatMessageEvent' +), +111 => new IntegerNode(8, -128), +112 => new StructNode([ + "x" => array('type' => 83, 'tag' => -3), + "y" => array('type' => 83, 'tag' => -2), + "z" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +113 => new StructNode([ + "beacon" => array('type' => 111, 'tag' => -9), + "ally" => array('type' => 111, 'tag' => -8), + "flags" => array('type' => 111, 'tag' => -7), + "build" => array('type' => 111, 'tag' => -6), + "targetUnitTag" => array('type' => 6, 'tag' => -5), + "targetUnitSnapshotUnitLink" => array('type' => 78, 'tag' => -4), + "targetUnitSnapshotUpkeepPlayerId" => array('type' => 111, 'tag' => -3), + "targetUnitSnapshotControlPlayerId" => array('type' => 111, 'tag' => -2), + "targetPoint" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AICommunicateEvent' +), +114 => new StructNode([ + "speed" => array('type' => 12, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SetAbsoluteGameSpeedEvent' +), +115 => new StructNode([ + "delta" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AddAbsoluteGameSpeedEvent' +), +116 => new StructNode([ + "point" => array('type' => 84, 'tag' => -9), + "unit" => array('type' => 6, 'tag' => -8), + "unitLink" => array('type' => 78, 'tag' => -7), + "unitControlPlayerId" => array('type' => 58, 'tag' => -6), + "unitUpkeepPlayerId" => array('type' => 58, 'tag' => -5), + "unitPosition" => array('type' => 92, 'tag' => -4), + "unitIsUnderConstruction" => array('type' => 13, 'tag' => -3), + "pingedMinimap" => array('type' => 13, 'tag' => -2), + "option" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPingEvent' +), +117 => new StructNode([ + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BroadcastCheatEvent' +), +118 => new StructNode([ + "alliance" => array('type' => 6, 'tag' => -2), + "control" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AllianceEvent' +), +119 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitClickEvent' +), +120 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -2), + "flags" => array('type' => 10, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitHighlightEvent' +), +121 => new StructNode([ + "conversationId" => array('type' => 83, 'tag' => -2), + "replyId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerReplySelectedEvent' +), +122 => new OptionalNode(20), +123 => new StructNode([ + "gameUserId" => array('type' => 1, 'tag' => -6), + "observe" => array('type' => 24, 'tag' => -5), + "name" => array('type' => 9, 'tag' => -4), + "toonHandle" => array('type' => 122, 'tag' => -3), + "clanTag" => array('type' => 41, 'tag' => -2), + "clanLogo" => array('type' => 42, 'tag' => -1), +]), +124 => new ArrayNode( + new IntegerNode(5, 0), + 123 +), +125 => new IntegerNode(1, 0), +126 => new StructNode([ + "userInfos" => array('type' => 124, 'tag' => -2), + "method" => array('type' => 125, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HijackReplayGameEvent' +), +127 => new StructNode([ + "purchaseItemId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseItemChangedEvent' +), +128 => new StructNode([ + "difficultyLevel" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerVictoryPanelPlayMissionAgainEvent' +), +129 => new ChoiceNode(new IntegerNode(3), [ + 0 => 90, + 1 => 13, + 2 => 6, + 3 => 83, + 4 => 30, + 5 => 6, +]), +130 => new StructNode([ + "controlId" => array('type' => 83, 'tag' => -3), + "eventType" => array('type' => 83, 'tag' => -2), + "eventData" => array('type' => 129, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerDialogControlEvent' +), +131 => new StructNode([ + "soundHash" => array('type' => 6, 'tag' => -2), + "length" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthQueryEvent' +), +132 => new ArrayNode( + new IntegerNode(7, 0), + 6 +), +133 => new StructNode([ + "soundHash" => array('type' => 132, 'tag' => -2), + "length" => array('type' => 132, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SoundLengthSync' +), +134 => new StructNode([ + "syncInfo" => array('type' => 133, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthSyncEvent' +), +135 => new StructNode([ + "queryId" => array('type' => 78, 'tag' => -3), + "lengthMs" => array('type' => 6, 'tag' => -2), + "finishGameLoop" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByNameEvent' +), +136 => new StructNode([ + "queryId" => array('type' => 78, 'tag' => -2), + "lengthMs" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByPropsEvent' +), +137 => new StructNode([ + "animWaitQueryId" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimOffsetEvent' +), +138 => new StructNode([ + "sound" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundOffsetEvent' +), +139 => new StructNode([ + "transmissionId" => array('type' => 83, 'tag' => -2), + "thread" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionOffsetEvent' +), +140 => new StructNode([ + "transmissionId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionCompleteEvent' +), +141 => new OptionalNode(79), +142 => new OptionalNode(78), +143 => new OptionalNode(111), +144 => new StructNode([ + "target" => array('type' => 141, 'tag' => -6), + "distance" => array('type' => 142, 'tag' => -5), + "pitch" => array('type' => 142, 'tag' => -4), + "yaw" => array('type' => 142, 'tag' => -3), + "reason" => array('type' => 143, 'tag' => -2), + "follow" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraUpdateEvent' +), +145 => new StructNode([ + "skipType" => array('type' => 125, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerConversationSkippedEvent' +), +146 => new IntegerNode(11, 0), +147 => new StructNode([ + "x" => array('type' => 146, 'tag' => -2), + "y" => array('type' => 146, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +148 => new StructNode([ + "button" => array('type' => 6, 'tag' => -5), + "down" => array('type' => 13, 'tag' => -4), + "posUI" => array('type' => 147, 'tag' => -3), + "posWorld" => array('type' => 92, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseClickedEvent' +), +149 => new StructNode([ + "posUI" => array('type' => 147, 'tag' => -3), + "posWorld" => array('type' => 92, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseMovedEvent' +), +150 => new StructNode([ + "achievementLink" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AchievementAwardedEvent' +), +151 => new StructNode([ + "hotkey" => array('type' => 6, 'tag' => -2), + "down" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerHotkeyPressedEvent' +), +152 => new StructNode([ + "abilLink" => array('type' => 78, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "state" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTargetModeUpdateEvent' +), +153 => new StructNode([ + "soundtrack" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundtrackDoneEvent' +), +154 => new StructNode([ + "planetId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPlanetMissionSelectedEvent' +), +155 => new StructNode([ + "key" => array('type' => 111, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerKeyPressedEvent' +), +156 => new StructNode([ + "resources" => array('type' => 108, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestEvent' +), +157 => new StructNode([ + "fulfillRequestId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestFulfillEvent' +), +158 => new StructNode([ + "cancelRequestId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestCancelEvent' +), +159 => new StructNode([ + "error" => array('type' => 83, 'tag' => -2), + "abil" => array('type' => 89, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCommandErrorEvent' +), +160 => new StructNode([ + "researchItemId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerResearchPanelSelectionChangedEvent' +), +161 => new StructNode([ + "mercenaryId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMercenaryPanelSelectionChangedEvent' +), +162 => new StructNode([ + "battleReportId" => array('type' => 83, 'tag' => -2), + "difficultyLevel" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelPlayMissionEvent' +), +163 => new StructNode([ + "battleReportId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelSelectionChangedEvent' +), +164 => new StructNode([ + "decrementSeconds" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\DecrementGameTimeRemainingEvent' +), +165 => new StructNode([ + "portraitId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPortraitLoadedEvent' +), +166 => new StructNode([ + "functionName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMovieFunctionEvent' +), +167 => new StructNode([ + "result" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCustomDialogDismissedEvent' +), +168 => new StructNode([ + "gameMenuItemIndex" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerGameMenuItemSelectedEvent' +), +169 => new IntegerNode(16, -32768), +170 => new StructNode([ + "wheelSpin" => array('type' => 169, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseWheelEvent' +), +171 => new StructNode([ + "purchaseCategoryId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseCategoryChangedEvent' +), +172 => new StructNode([ + "button" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerButtonPressedEvent' +), +173 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -2), + "bookmarkName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneBookmarkFiredEvent' +), +174 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneEndSceneFiredEvent' +), +175 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -3), + "conversationLine" => array('type' => 20, 'tag' => -2), + "altConversationLine" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneConversationLineEvent' +), +176 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -2), + "conversationLine" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneConversationLineMissingEvent' +), +177 => new StructNode([ + "leaveReason" => array('type' => 1, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameUserLeaveEvent' +), +178 => new StructNode([ + "observe" => array('type' => 24, 'tag' => -7), + "name" => array('type' => 9, 'tag' => -6), + "toonHandle" => array('type' => 122, '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' +), +179 => new OptionalNode(95), +180 => new StructNode([ + "state" => array('type' => 24, 'tag' => -2), + "sequence" => array('type' => 179, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerStateEvent' +), +181 => new StructNode([ + "target" => array('type' => 92, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetPointEvent' +), +182 => new StructNode([ + "target" => array('type' => 93, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetUnitEvent' +), +183 => new StructNode([ + "catalog" => array('type' => 10, 'tag' => -4), + "entry" => array('type' => 78, 'tag' => -3), + "field" => array('type' => 9, 'tag' => -2), + "value" => array('type' => 9, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CatalogModifyEvent' +), +184 => new StructNode([ + "index" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HeroTalentTreeSelectedEvent' +), +185 => new StructNode([ + "shown" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HeroTalentTreeSelectionPanelToggledEvent' +), +186 => new StructNode([ + "recipient" => array('type' => 12, 'tag' => -2), + "string" => array('type' => 30, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\ChatMessage' +), +187 => new StructNode([ + "recipient" => array('type' => 12, 'tag' => -2), + "point" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\PingMessage' +), +188 => new StructNode([ + "progress" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\LoadingProgressMessage' +), +189 => new StructNode([ + "status" => array('type' => 24, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\ReconnectNotifyMessage' +), +190 => new StructNode([ + "scoreValueMineralsCurrent" => array('type' => 83, 'tag' => 0), + "scoreValueVespeneCurrent" => array('type' => 83, 'tag' => 1), + "scoreValueMineralsCollectionRate" => array('type' => 83, 'tag' => 2), + "scoreValueVespeneCollectionRate" => array('type' => 83, 'tag' => 3), + "scoreValueWorkersActiveCount" => array('type' => 83, 'tag' => 4), + "scoreValueMineralsUsedInProgressArmy" => array('type' => 83, 'tag' => 5), + "scoreValueMineralsUsedInProgressEconomy" => array('type' => 83, 'tag' => 6), + "scoreValueMineralsUsedInProgressTechnology" => array('type' => 83, 'tag' => 7), + "scoreValueVespeneUsedInProgressArmy" => array('type' => 83, 'tag' => 8), + "scoreValueVespeneUsedInProgressEconomy" => array('type' => 83, 'tag' => 9), + "scoreValueVespeneUsedInProgressTechnology" => array('type' => 83, 'tag' => 10), + "scoreValueMineralsUsedCurrentArmy" => array('type' => 83, 'tag' => 11), + "scoreValueMineralsUsedCurrentEconomy" => array('type' => 83, 'tag' => 12), + "scoreValueMineralsUsedCurrentTechnology" => array('type' => 83, 'tag' => 13), + "scoreValueVespeneUsedCurrentArmy" => array('type' => 83, 'tag' => 14), + "scoreValueVespeneUsedCurrentEconomy" => array('type' => 83, 'tag' => 15), + "scoreValueVespeneUsedCurrentTechnology" => array('type' => 83, 'tag' => 16), + "scoreValueMineralsLostArmy" => array('type' => 83, 'tag' => 17), + "scoreValueMineralsLostEconomy" => array('type' => 83, 'tag' => 18), + "scoreValueMineralsLostTechnology" => array('type' => 83, 'tag' => 19), + "scoreValueVespeneLostArmy" => array('type' => 83, 'tag' => 20), + "scoreValueVespeneLostEconomy" => array('type' => 83, 'tag' => 21), + "scoreValueVespeneLostTechnology" => array('type' => 83, 'tag' => 22), + "scoreValueMineralsKilledArmy" => array('type' => 83, 'tag' => 23), + "scoreValueMineralsKilledEconomy" => array('type' => 83, 'tag' => 24), + "scoreValueMineralsKilledTechnology" => array('type' => 83, 'tag' => 25), + "scoreValueVespeneKilledArmy" => array('type' => 83, 'tag' => 26), + "scoreValueVespeneKilledEconomy" => array('type' => 83, 'tag' => 27), + "scoreValueVespeneKilledTechnology" => array('type' => 83, 'tag' => 28), + "scoreValueFoodUsed" => array('type' => 83, 'tag' => 29), + "scoreValueFoodMade" => array('type' => 83, 'tag' => 30), + "scoreValueMineralsUsedActiveForces" => array('type' => 83, 'tag' => 31), + "scoreValueVespeneUsedActiveForces" => array('type' => 83, 'tag' => 32), + "scoreValueMineralsFriendlyFireArmy" => array('type' => 83, 'tag' => 33), + "scoreValueMineralsFriendlyFireEconomy" => array('type' => 83, 'tag' => 34), + "scoreValueMineralsFriendlyFireTechnology" => array('type' => 83, 'tag' => 35), + "scoreValueVespeneFriendlyFireArmy" => array('type' => 83, 'tag' => 36), + "scoreValueVespeneFriendlyFireEconomy" => array('type' => 83, 'tag' => 37), + "scoreValueVespeneFriendlyFireTechnology" => array('type' => 83, 'tag' => 38), +], + 'Rogiel\StarReplay\Event\Tracker\PlayerStats' +), +191 => new StructNode([ + "playerId" => array('type' => 1, 'tag' => 0), + "stats" => array('type' => 190, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\PlayerStatsEvent' +), +192 => 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' +), +193 => 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' +), +194 => 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' +), +195 => 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' +), +196 => new StructNode([ + "playerId" => array('type' => 1, 'tag' => 0), + "upgradeTypeName" => array('type' => 29, 'tag' => 1), + "count" => array('type' => 83, 'tag' => 2), +], + 'Rogiel\StarReplay\Event\Tracker\UpgradeEvent' +), +197 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\UnitDoneEvent' +), +198 => new ArrayNode( + new IntegerNode(10, 0), + 83, + 'Rogiel\StarReplay\Event\Tracker\UnitPositions' + +), +199 => new StructNode([ + "firstUnitIndex" => array('type' => 6, 'tag' => 0), + "items" => array('type' => 198, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\UnitPositionsEvent' +), +200 => 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' +), +] +); +Version41743::$GAME_EVENT_MAPPING = [ + 5 => 77, + 7 => 76, + 9 => 69, + 10 => 71, + 11 => 72, + 12 => 73, + 13 => 75, + 14 => 80, + 21 => 81, + 22 => 77, + 23 => 77, + 25 => 82, + 26 => 86, + 27 => 96, + 28 => 104, + 29 => 105, + 30 => 107, + 31 => 109, + 32 => 110, + 33 => 113, + 34 => 114, + 35 => 115, + 36 => 116, + 37 => 117, + 38 => 118, + 39 => 119, + 40 => 120, + 41 => 121, + 43 => 126, + 44 => 77, + 45 => 131, + 46 => 138, + 47 => 139, + 48 => 140, + 49 => 144, + 50 => 77, + 51 => 127, + 52 => 77, + 53 => 128, + 54 => 77, + 55 => 130, + 56 => 134, + 57 => 145, + 58 => 148, + 59 => 149, + 60 => 150, + 61 => 151, + 62 => 152, + 63 => 77, + 64 => 153, + 65 => 154, + 66 => 155, + 67 => 166, + 68 => 77, + 69 => 77, + 70 => 156, + 71 => 157, + 72 => 158, + 73 => 77, + 74 => 77, + 75 => 160, + 76 => 159, + 77 => 77, + 78 => 77, + 79 => 161, + 80 => 77, + 81 => 77, + 82 => 162, + 83 => 163, + 84 => 163, + 85 => 128, + 86 => 77, + 87 => 77, + 88 => 164, + 89 => 165, + 90 => 167, + 91 => 168, + 92 => 170, + 93 => 127, + 94 => 171, + 95 => 172, + 96 => 77, + 97 => 173, + 98 => 174, + 99 => 175, + 100 => 176, + 101 => 177, + 102 => 178, + 103 => 180, + 104 => 181, + 105 => 182, + 106 => 135, + 107 => 136, + 108 => 137, + 109 => 183, + 110 => 184, + 111 => 77, + 112 => 185, +]; +Version41743::$MESSAGE_EVENT_MAPPING = [ + 0 => 186, + 1 => 187, + 2 => 188, + 3 => 77, + 4 => 189, +]; +Version41743::$TRACKER_EVENT_MAPPING = [ + 0 => 191, + 1 => 192, + 2 => 193, + 3 => 194, + 4 => 195, + 5 => 196, + 6 => 192, + 7 => 197, + 8 => 199, + 9 => 200, +]; diff --git a/src/Version/Version41973.php b/src/Version/Version41973.php new file mode 100644 index 0000000..3ca4ca7 --- /dev/null +++ b/src/Version/Version41973.php @@ -0,0 +1,1342 @@ +getNode(18); + } + + public function getReplayInitDataNode() { + return self::$TREE->getNode(68); + } + + 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 + ); + } + +} + +Version41973::$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' => -26), + "gameCacheName" => array('type' => 29, 'tag' => -25), + "gameOptions" => array('type' => 49, 'tag' => -24), + "gameSpeed" => array('type' => 12, 'tag' => -23), + "gameType" => array('type' => 12, 'tag' => -22), + "maxUsers" => array('type' => 2, 'tag' => -21), + "maxObservers" => array('type' => 2, 'tag' => -20), + "maxPlayers" => array('type' => 2, 'tag' => -19), + "maxTeams" => array('type' => 50, 'tag' => -18), + "maxColors" => array('type' => 3, 'tag' => -17), + "maxRaces" => array('type' => 51, 'tag' => -16), + "maxControls" => array('type' => 10, 'tag' => -15), + "mapSizeX" => array('type' => 10, 'tag' => -14), + "mapSizeY" => array('type' => 10, 'tag' => -13), + "mapFileSyncChecksum" => array('type' => 6, 'tag' => -12), + "mapFileName" => array('type' => 30, 'tag' => -11), + "mapAuthorName" => array('type' => 9, 'tag' => -10), + "modFileSyncChecksum" => array('type' => 6, 'tag' => -9), + "slotDescriptions" => array('type' => 56, 'tag' => -8), + "defaultDifficulty" => array('type' => 3, 'tag' => -7), + "defaultAIBuild" => array('type' => 10, 'tag' => -6), + "cacheHandles" => array('type' => 36, 'tag' => -5), + "hasExtensionMod" => 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 StructNode([ + "control" => array('type' => 10, 'tag' => -23), + "userId" => array('type' => 58, 'tag' => -22), + "teamId" => array('type' => 1, 'tag' => -21), + "colorPref" => array('type' => 60, 'tag' => -20), + "racePref" => array('type' => 44, 'tag' => -19), + "difficulty" => array('type' => 3, 'tag' => -18), + "aiBuild" => array('type' => 10, 'tag' => -17), + "handicap" => array('type' => 0, 'tag' => -16), + "observe" => array('type' => 24, 'tag' => -15), + "logoIndex" => array('type' => 6, 'tag' => -14), + "hero" => array('type' => 46, 'tag' => -13), + "skin" => array('type' => 46, 'tag' => -12), + "mount" => array('type' => 46, 'tag' => -11), + "artifacts" => array('type' => 61, 'tag' => -10), + "workingSetSlotId" => array('type' => 25, 'tag' => -9), + "rewards" => array('type' => 62, 'tag' => -8), + "toonHandle" => array('type' => 20, 'tag' => -7), + "licenses" => array('type' => 63, 'tag' => -6), + "tandemLeaderId" => array('type' => 58, 'tag' => -5), + "commander" => array('type' => 46, 'tag' => -4), + "commanderLevel" => array('type' => 6, 'tag' => -3), + "hasSilencePenalty" => array('type' => 13, 'tag' => -2), + "tandemId" => array('type' => 58, 'tag' => -1), +]), +65 => new ArrayNode( + new IntegerNode(5, 0), + 64 +), +66 => new StructNode([ + "phase" => array('type' => 12, 'tag' => -11), + "maxUsers" => array('type' => 2, 'tag' => -10), + "maxObservers" => array('type' => 2, 'tag' => -9), + "slots" => array('type' => 65, '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' +), +67 => new StructNode([ + "userInitialData" => array('type' => 48, 'tag' => -3), + "gameDescription" => array('type' => 57, 'tag' => -2), + "lobbyState" => array('type' => 66, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\SyncLobbyState' +), +68 => new StructNode([ + "syncLobbyState" => array('type' => 67, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\InitData' +), +69 => new StructNode([ + "name" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankFileEvent' +), +70 => new BlobNode(new IntegerNode(6, 0)), +71 => new StructNode([ + "name" => array('type' => 70, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSectionEvent' +), +72 => new StructNode([ + "name" => array('type' => 70, 'tag' => -3), + "type" => array('type' => 6, 'tag' => -2), + "data" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankKeyEvent' +), +73 => new StructNode([ + "type" => array('type' => 6, 'tag' => -3), + "name" => array('type' => 70, 'tag' => -2), + "data" => array('type' => 34, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankValueEvent' +), +74 => new ArrayNode( + new IntegerNode(5, 0), + 10, + 'Rogiel\StarReplay\Event\Game\Entity\BankSignature' + +), +75 => new StructNode([ + "signature" => array('type' => 74, 'tag' => -2), + "toonHandle" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSignatureEvent' +), +76 => 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' +), +77 => new StructNode([ +], + 'Rogiel\StarReplay\Event\Message\ServerPingMessage' +), +78 => new IntegerNode(16, 0), +79 => new StructNode([ + "x" => array('type' => 78, 'tag' => -2), + "y" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +80 => new StructNode([ + "which" => array('type' => 12, 'tag' => -2), + "target" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraSaveEvent' +), +81 => 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' +), +82 => new StructNode([ + "sequence" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerResetEvent' +), +83 => new IntegerNode(32, -2147483648), +84 => new StructNode([ + "x" => array('type' => 83, 'tag' => -2), + "y" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +85 => new StructNode([ + "point" => array('type' => 84, 'tag' => -4), + "time" => array('type' => 83, 'tag' => -3), + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +]), +86 => new StructNode([ + "data" => array('type' => 85, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameCheatEvent' +), +87 => new IntegerNode(25, 0), +88 => new StructNode([ + "abilLink" => array('type' => 78, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "abilCmdData" => array('type' => 25, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\Ability' +), +89 => new OptionalNode(88), +90 => new NullNode(), +91 => new IntegerNode(20, 0), +92 => new StructNode([ + "x" => array('type' => 91, 'tag' => -3), + "y" => array('type' => 91, 'tag' => -2), + "z" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +93 => new StructNode([ + "targetUnitFlags" => array('type' => 78, 'tag' => -7), + "timer" => array('type' => 10, 'tag' => -6), + "tag" => array('type' => 6, 'tag' => -5), + "snapshotUnitLink" => array('type' => 78, 'tag' => -4), + "snapshotControlPlayerId" => array('type' => 58, 'tag' => -3), + "snapshotUpkeepPlayerId" => array('type' => 58, 'tag' => -2), + "snapshotPoint" => array('type' => 92, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\TargetUnit' +), +94 => new ChoiceNode(new IntegerNode(2), [ + 0 => 90, + 1 => 92, + 2 => 93, + 3 => 6, +]), +95 => new IntegerNode(32, 1), +96 => new StructNode([ + "cmdFlags" => array('type' => 87, 'tag' => -6), + "abil" => array('type' => 89, 'tag' => -5), + "data" => array('type' => 94, 'tag' => -4), + "sequence" => array('type' => 95, 'tag' => -3), + "otherUnit" => array('type' => 43, 'tag' => -2), + "unitGroup" => array('type' => 43, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdEvent' +), +97 => new IntegerNode(9, 0), +98 => new BitArrayNode( + new IntegerNode(9, 0) +, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateMask'), +99 => new ArrayNode( + new IntegerNode(9, 0), + 97, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateZeroIndices' + +), +100 => new ChoiceNode(new IntegerNode(2), [ + 0 => 90, + 1 => 98, + 2 => 99, + 3 => 99, +]), +101 => new StructNode([ + "unitLink" => array('type' => 78, 'tag' => -4), + "subgroupPriority" => array('type' => 10, 'tag' => -3), + "intraSubgroupPriority" => array('type' => 10, 'tag' => -2), + "count" => array('type' => 97, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SubgroupUnit' +), +102 => new ArrayNode( + new IntegerNode(9, 0), + 101 +), +103 => new StructNode([ + "subgroupIndex" => array('type' => 97, 'tag' => -4), + "removeMask" => array('type' => 100, 'tag' => -3), + "addSubgroups" => array('type' => 102, 'tag' => -2), + "addUnitTags" => array('type' => 63, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SelectionDelta' +), +104 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "delta" => array('type' => 103, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionDeltaEvent' +), +105 => new StructNode([ + "controlGroupIndex" => array('type' => 1, 'tag' => -3), + "controlGroupUpdate" => array('type' => 12, 'tag' => -2), + "mask" => array('type' => 100, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ControlGroupUpdateEvent' +), +106 => new StructNode([ + "count" => array('type' => 97, 'tag' => -6), + "subgroupCount" => array('type' => 97, 'tag' => -5), + "activeSubgroupIndex" => array('type' => 97, 'tag' => -4), + "unitTagsChecksum" => array('type' => 6, 'tag' => -3), + "subgroupIndicesChecksum" => array('type' => 6, 'tag' => -2), + "subgroupsChecksum" => array('type' => 6, 'tag' => -1), +]), +107 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "selectionSyncData" => array('type' => 106, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionSyncCheckEvent' +), +108 => new ArrayNode( + new IntegerNode(3, 0), + 83, + 'Rogiel\StarReplay\Event\Game\Entity\ResourceRequest' + +), +109 => new StructNode([ + "recipientId" => array('type' => 1, 'tag' => -2), + "resources" => array('type' => 108, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceTradeEvent' +), +110 => new StructNode([ + "chatMessage" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerChatMessageEvent' +), +111 => new IntegerNode(8, -128), +112 => new StructNode([ + "x" => array('type' => 83, 'tag' => -3), + "y" => array('type' => 83, 'tag' => -2), + "z" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +113 => new StructNode([ + "beacon" => array('type' => 111, 'tag' => -9), + "ally" => array('type' => 111, 'tag' => -8), + "flags" => array('type' => 111, 'tag' => -7), + "build" => array('type' => 111, 'tag' => -6), + "targetUnitTag" => array('type' => 6, 'tag' => -5), + "targetUnitSnapshotUnitLink" => array('type' => 78, 'tag' => -4), + "targetUnitSnapshotUpkeepPlayerId" => array('type' => 111, 'tag' => -3), + "targetUnitSnapshotControlPlayerId" => array('type' => 111, 'tag' => -2), + "targetPoint" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AICommunicateEvent' +), +114 => new StructNode([ + "speed" => array('type' => 12, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SetAbsoluteGameSpeedEvent' +), +115 => new StructNode([ + "delta" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AddAbsoluteGameSpeedEvent' +), +116 => new StructNode([ + "point" => array('type' => 84, 'tag' => -9), + "unit" => array('type' => 6, 'tag' => -8), + "unitLink" => array('type' => 78, 'tag' => -7), + "unitControlPlayerId" => array('type' => 58, 'tag' => -6), + "unitUpkeepPlayerId" => array('type' => 58, 'tag' => -5), + "unitPosition" => array('type' => 92, 'tag' => -4), + "unitIsUnderConstruction" => array('type' => 13, 'tag' => -3), + "pingedMinimap" => array('type' => 13, 'tag' => -2), + "option" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPingEvent' +), +117 => new StructNode([ + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BroadcastCheatEvent' +), +118 => new StructNode([ + "alliance" => array('type' => 6, 'tag' => -2), + "control" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AllianceEvent' +), +119 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitClickEvent' +), +120 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -2), + "flags" => array('type' => 10, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitHighlightEvent' +), +121 => new StructNode([ + "conversationId" => array('type' => 83, 'tag' => -2), + "replyId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerReplySelectedEvent' +), +122 => new OptionalNode(20), +123 => new StructNode([ + "gameUserId" => array('type' => 1, 'tag' => -6), + "observe" => array('type' => 24, 'tag' => -5), + "name" => array('type' => 9, 'tag' => -4), + "toonHandle" => array('type' => 122, 'tag' => -3), + "clanTag" => array('type' => 41, 'tag' => -2), + "clanLogo" => array('type' => 42, 'tag' => -1), +]), +124 => new ArrayNode( + new IntegerNode(5, 0), + 123 +), +125 => new IntegerNode(1, 0), +126 => new StructNode([ + "userInfos" => array('type' => 124, 'tag' => -2), + "method" => array('type' => 125, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HijackReplayGameEvent' +), +127 => new StructNode([ + "purchaseItemId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseItemChangedEvent' +), +128 => new StructNode([ + "difficultyLevel" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerVictoryPanelPlayMissionAgainEvent' +), +129 => new ChoiceNode(new IntegerNode(3), [ + 0 => 90, + 1 => 13, + 2 => 6, + 3 => 83, + 4 => 30, + 5 => 6, +]), +130 => new StructNode([ + "controlId" => array('type' => 83, 'tag' => -3), + "eventType" => array('type' => 83, 'tag' => -2), + "eventData" => array('type' => 129, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerDialogControlEvent' +), +131 => new StructNode([ + "soundHash" => array('type' => 6, 'tag' => -2), + "length" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthQueryEvent' +), +132 => new ArrayNode( + new IntegerNode(7, 0), + 6 +), +133 => new StructNode([ + "soundHash" => array('type' => 132, 'tag' => -2), + "length" => array('type' => 132, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SoundLengthSync' +), +134 => new StructNode([ + "syncInfo" => array('type' => 133, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthSyncEvent' +), +135 => new StructNode([ + "queryId" => array('type' => 78, 'tag' => -3), + "lengthMs" => array('type' => 6, 'tag' => -2), + "finishGameLoop" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByNameEvent' +), +136 => new StructNode([ + "queryId" => array('type' => 78, 'tag' => -2), + "lengthMs" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByPropsEvent' +), +137 => new StructNode([ + "animWaitQueryId" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimOffsetEvent' +), +138 => new StructNode([ + "sound" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundOffsetEvent' +), +139 => new StructNode([ + "transmissionId" => array('type' => 83, 'tag' => -2), + "thread" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionOffsetEvent' +), +140 => new StructNode([ + "transmissionId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionCompleteEvent' +), +141 => new OptionalNode(79), +142 => new OptionalNode(78), +143 => new OptionalNode(111), +144 => new StructNode([ + "target" => array('type' => 141, 'tag' => -6), + "distance" => array('type' => 142, 'tag' => -5), + "pitch" => array('type' => 142, 'tag' => -4), + "yaw" => array('type' => 142, 'tag' => -3), + "reason" => array('type' => 143, 'tag' => -2), + "follow" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraUpdateEvent' +), +145 => new StructNode([ + "skipType" => array('type' => 125, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerConversationSkippedEvent' +), +146 => new IntegerNode(11, 0), +147 => new StructNode([ + "x" => array('type' => 146, 'tag' => -2), + "y" => array('type' => 146, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +148 => new StructNode([ + "button" => array('type' => 6, 'tag' => -5), + "down" => array('type' => 13, 'tag' => -4), + "posUI" => array('type' => 147, 'tag' => -3), + "posWorld" => array('type' => 92, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseClickedEvent' +), +149 => new StructNode([ + "posUI" => array('type' => 147, 'tag' => -3), + "posWorld" => array('type' => 92, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseMovedEvent' +), +150 => new StructNode([ + "achievementLink" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AchievementAwardedEvent' +), +151 => new StructNode([ + "hotkey" => array('type' => 6, 'tag' => -2), + "down" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerHotkeyPressedEvent' +), +152 => new StructNode([ + "abilLink" => array('type' => 78, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "state" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTargetModeUpdateEvent' +), +153 => new StructNode([ + "soundtrack" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundtrackDoneEvent' +), +154 => new StructNode([ + "planetId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPlanetMissionSelectedEvent' +), +155 => new StructNode([ + "key" => array('type' => 111, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerKeyPressedEvent' +), +156 => new StructNode([ + "resources" => array('type' => 108, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestEvent' +), +157 => new StructNode([ + "fulfillRequestId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestFulfillEvent' +), +158 => new StructNode([ + "cancelRequestId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestCancelEvent' +), +159 => new StructNode([ + "error" => array('type' => 83, 'tag' => -2), + "abil" => array('type' => 89, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCommandErrorEvent' +), +160 => new StructNode([ + "researchItemId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerResearchPanelSelectionChangedEvent' +), +161 => new StructNode([ + "mercenaryId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMercenaryPanelSelectionChangedEvent' +), +162 => new StructNode([ + "battleReportId" => array('type' => 83, 'tag' => -2), + "difficultyLevel" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelPlayMissionEvent' +), +163 => new StructNode([ + "battleReportId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelSelectionChangedEvent' +), +164 => new StructNode([ + "decrementSeconds" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\DecrementGameTimeRemainingEvent' +), +165 => new StructNode([ + "portraitId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPortraitLoadedEvent' +), +166 => new StructNode([ + "functionName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMovieFunctionEvent' +), +167 => new StructNode([ + "result" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCustomDialogDismissedEvent' +), +168 => new StructNode([ + "gameMenuItemIndex" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerGameMenuItemSelectedEvent' +), +169 => new IntegerNode(16, -32768), +170 => new StructNode([ + "wheelSpin" => array('type' => 169, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseWheelEvent' +), +171 => new StructNode([ + "purchaseCategoryId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseCategoryChangedEvent' +), +172 => new StructNode([ + "button" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerButtonPressedEvent' +), +173 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -2), + "bookmarkName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneBookmarkFiredEvent' +), +174 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneEndSceneFiredEvent' +), +175 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -3), + "conversationLine" => array('type' => 20, 'tag' => -2), + "altConversationLine" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneConversationLineEvent' +), +176 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -2), + "conversationLine" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneConversationLineMissingEvent' +), +177 => new StructNode([ + "leaveReason" => array('type' => 1, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameUserLeaveEvent' +), +178 => new StructNode([ + "observe" => array('type' => 24, 'tag' => -7), + "name" => array('type' => 9, 'tag' => -6), + "toonHandle" => array('type' => 122, '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' +), +179 => new OptionalNode(95), +180 => new StructNode([ + "state" => array('type' => 24, 'tag' => -2), + "sequence" => array('type' => 179, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerStateEvent' +), +181 => new StructNode([ + "target" => array('type' => 92, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetPointEvent' +), +182 => new StructNode([ + "target" => array('type' => 93, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetUnitEvent' +), +183 => new StructNode([ + "catalog" => array('type' => 10, 'tag' => -4), + "entry" => array('type' => 78, 'tag' => -3), + "field" => array('type' => 9, 'tag' => -2), + "value" => array('type' => 9, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CatalogModifyEvent' +), +184 => new StructNode([ + "index" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HeroTalentTreeSelectedEvent' +), +185 => new StructNode([ + "shown" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HeroTalentTreeSelectionPanelToggledEvent' +), +186 => new StructNode([ + "recipient" => array('type' => 12, 'tag' => -2), + "string" => array('type' => 30, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\ChatMessage' +), +187 => new StructNode([ + "recipient" => array('type' => 12, 'tag' => -2), + "point" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\PingMessage' +), +188 => new StructNode([ + "progress" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\LoadingProgressMessage' +), +189 => new StructNode([ + "status" => array('type' => 24, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\ReconnectNotifyMessage' +), +190 => new StructNode([ + "scoreValueMineralsCurrent" => array('type' => 83, 'tag' => 0), + "scoreValueVespeneCurrent" => array('type' => 83, 'tag' => 1), + "scoreValueMineralsCollectionRate" => array('type' => 83, 'tag' => 2), + "scoreValueVespeneCollectionRate" => array('type' => 83, 'tag' => 3), + "scoreValueWorkersActiveCount" => array('type' => 83, 'tag' => 4), + "scoreValueMineralsUsedInProgressArmy" => array('type' => 83, 'tag' => 5), + "scoreValueMineralsUsedInProgressEconomy" => array('type' => 83, 'tag' => 6), + "scoreValueMineralsUsedInProgressTechnology" => array('type' => 83, 'tag' => 7), + "scoreValueVespeneUsedInProgressArmy" => array('type' => 83, 'tag' => 8), + "scoreValueVespeneUsedInProgressEconomy" => array('type' => 83, 'tag' => 9), + "scoreValueVespeneUsedInProgressTechnology" => array('type' => 83, 'tag' => 10), + "scoreValueMineralsUsedCurrentArmy" => array('type' => 83, 'tag' => 11), + "scoreValueMineralsUsedCurrentEconomy" => array('type' => 83, 'tag' => 12), + "scoreValueMineralsUsedCurrentTechnology" => array('type' => 83, 'tag' => 13), + "scoreValueVespeneUsedCurrentArmy" => array('type' => 83, 'tag' => 14), + "scoreValueVespeneUsedCurrentEconomy" => array('type' => 83, 'tag' => 15), + "scoreValueVespeneUsedCurrentTechnology" => array('type' => 83, 'tag' => 16), + "scoreValueMineralsLostArmy" => array('type' => 83, 'tag' => 17), + "scoreValueMineralsLostEconomy" => array('type' => 83, 'tag' => 18), + "scoreValueMineralsLostTechnology" => array('type' => 83, 'tag' => 19), + "scoreValueVespeneLostArmy" => array('type' => 83, 'tag' => 20), + "scoreValueVespeneLostEconomy" => array('type' => 83, 'tag' => 21), + "scoreValueVespeneLostTechnology" => array('type' => 83, 'tag' => 22), + "scoreValueMineralsKilledArmy" => array('type' => 83, 'tag' => 23), + "scoreValueMineralsKilledEconomy" => array('type' => 83, 'tag' => 24), + "scoreValueMineralsKilledTechnology" => array('type' => 83, 'tag' => 25), + "scoreValueVespeneKilledArmy" => array('type' => 83, 'tag' => 26), + "scoreValueVespeneKilledEconomy" => array('type' => 83, 'tag' => 27), + "scoreValueVespeneKilledTechnology" => array('type' => 83, 'tag' => 28), + "scoreValueFoodUsed" => array('type' => 83, 'tag' => 29), + "scoreValueFoodMade" => array('type' => 83, 'tag' => 30), + "scoreValueMineralsUsedActiveForces" => array('type' => 83, 'tag' => 31), + "scoreValueVespeneUsedActiveForces" => array('type' => 83, 'tag' => 32), + "scoreValueMineralsFriendlyFireArmy" => array('type' => 83, 'tag' => 33), + "scoreValueMineralsFriendlyFireEconomy" => array('type' => 83, 'tag' => 34), + "scoreValueMineralsFriendlyFireTechnology" => array('type' => 83, 'tag' => 35), + "scoreValueVespeneFriendlyFireArmy" => array('type' => 83, 'tag' => 36), + "scoreValueVespeneFriendlyFireEconomy" => array('type' => 83, 'tag' => 37), + "scoreValueVespeneFriendlyFireTechnology" => array('type' => 83, 'tag' => 38), +], + 'Rogiel\StarReplay\Event\Tracker\PlayerStats' +), +191 => new StructNode([ + "playerId" => array('type' => 1, 'tag' => 0), + "stats" => array('type' => 190, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\PlayerStatsEvent' +), +192 => 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' +), +193 => 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' +), +194 => 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' +), +195 => 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' +), +196 => new StructNode([ + "playerId" => array('type' => 1, 'tag' => 0), + "upgradeTypeName" => array('type' => 29, 'tag' => 1), + "count" => array('type' => 83, 'tag' => 2), +], + 'Rogiel\StarReplay\Event\Tracker\UpgradeEvent' +), +197 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\UnitDoneEvent' +), +198 => new ArrayNode( + new IntegerNode(10, 0), + 83, + 'Rogiel\StarReplay\Event\Tracker\UnitPositions' + +), +199 => new StructNode([ + "firstUnitIndex" => array('type' => 6, 'tag' => 0), + "items" => array('type' => 198, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\UnitPositionsEvent' +), +200 => 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' +), +] +); +Version41973::$GAME_EVENT_MAPPING = [ + 5 => 77, + 7 => 76, + 9 => 69, + 10 => 71, + 11 => 72, + 12 => 73, + 13 => 75, + 14 => 80, + 21 => 81, + 22 => 77, + 23 => 77, + 25 => 82, + 26 => 86, + 27 => 96, + 28 => 104, + 29 => 105, + 30 => 107, + 31 => 109, + 32 => 110, + 33 => 113, + 34 => 114, + 35 => 115, + 36 => 116, + 37 => 117, + 38 => 118, + 39 => 119, + 40 => 120, + 41 => 121, + 43 => 126, + 44 => 77, + 45 => 131, + 46 => 138, + 47 => 139, + 48 => 140, + 49 => 144, + 50 => 77, + 51 => 127, + 52 => 77, + 53 => 128, + 54 => 77, + 55 => 130, + 56 => 134, + 57 => 145, + 58 => 148, + 59 => 149, + 60 => 150, + 61 => 151, + 62 => 152, + 63 => 77, + 64 => 153, + 65 => 154, + 66 => 155, + 67 => 166, + 68 => 77, + 69 => 77, + 70 => 156, + 71 => 157, + 72 => 158, + 73 => 77, + 74 => 77, + 75 => 160, + 76 => 159, + 77 => 77, + 78 => 77, + 79 => 161, + 80 => 77, + 81 => 77, + 82 => 162, + 83 => 163, + 84 => 163, + 85 => 128, + 86 => 77, + 87 => 77, + 88 => 164, + 89 => 165, + 90 => 167, + 91 => 168, + 92 => 170, + 93 => 127, + 94 => 171, + 95 => 172, + 96 => 77, + 97 => 173, + 98 => 174, + 99 => 175, + 100 => 176, + 101 => 177, + 102 => 178, + 103 => 180, + 104 => 181, + 105 => 182, + 106 => 135, + 107 => 136, + 108 => 137, + 109 => 183, + 110 => 184, + 111 => 77, + 112 => 185, +]; +Version41973::$MESSAGE_EVENT_MAPPING = [ + 0 => 186, + 1 => 187, + 2 => 188, + 3 => 77, + 4 => 189, +]; +Version41973::$TRACKER_EVENT_MAPPING = [ + 0 => 191, + 1 => 192, + 2 => 193, + 3 => 194, + 4 => 195, + 5 => 196, + 6 => 192, + 7 => 197, + 8 => 199, + 9 => 200, +]; diff --git a/src/Version/Version42253.php b/src/Version/Version42253.php new file mode 100644 index 0000000..f848bee --- /dev/null +++ b/src/Version/Version42253.php @@ -0,0 +1,1342 @@ +getNode(18); + } + + public function getReplayInitDataNode() { + return self::$TREE->getNode(68); + } + + 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 + ); + } + +} + +Version42253::$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' => -26), + "gameCacheName" => array('type' => 29, 'tag' => -25), + "gameOptions" => array('type' => 49, 'tag' => -24), + "gameSpeed" => array('type' => 12, 'tag' => -23), + "gameType" => array('type' => 12, 'tag' => -22), + "maxUsers" => array('type' => 2, 'tag' => -21), + "maxObservers" => array('type' => 2, 'tag' => -20), + "maxPlayers" => array('type' => 2, 'tag' => -19), + "maxTeams" => array('type' => 50, 'tag' => -18), + "maxColors" => array('type' => 3, 'tag' => -17), + "maxRaces" => array('type' => 51, 'tag' => -16), + "maxControls" => array('type' => 10, 'tag' => -15), + "mapSizeX" => array('type' => 10, 'tag' => -14), + "mapSizeY" => array('type' => 10, 'tag' => -13), + "mapFileSyncChecksum" => array('type' => 6, 'tag' => -12), + "mapFileName" => array('type' => 30, 'tag' => -11), + "mapAuthorName" => array('type' => 9, 'tag' => -10), + "modFileSyncChecksum" => array('type' => 6, 'tag' => -9), + "slotDescriptions" => array('type' => 56, 'tag' => -8), + "defaultDifficulty" => array('type' => 3, 'tag' => -7), + "defaultAIBuild" => array('type' => 10, 'tag' => -6), + "cacheHandles" => array('type' => 36, 'tag' => -5), + "hasExtensionMod" => 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 StructNode([ + "control" => array('type' => 10, 'tag' => -23), + "userId" => array('type' => 58, 'tag' => -22), + "teamId" => array('type' => 1, 'tag' => -21), + "colorPref" => array('type' => 60, 'tag' => -20), + "racePref" => array('type' => 44, 'tag' => -19), + "difficulty" => array('type' => 3, 'tag' => -18), + "aiBuild" => array('type' => 10, 'tag' => -17), + "handicap" => array('type' => 0, 'tag' => -16), + "observe" => array('type' => 24, 'tag' => -15), + "logoIndex" => array('type' => 6, 'tag' => -14), + "hero" => array('type' => 46, 'tag' => -13), + "skin" => array('type' => 46, 'tag' => -12), + "mount" => array('type' => 46, 'tag' => -11), + "artifacts" => array('type' => 61, 'tag' => -10), + "workingSetSlotId" => array('type' => 25, 'tag' => -9), + "rewards" => array('type' => 62, 'tag' => -8), + "toonHandle" => array('type' => 20, 'tag' => -7), + "licenses" => array('type' => 63, 'tag' => -6), + "tandemLeaderId" => array('type' => 58, 'tag' => -5), + "commander" => array('type' => 46, 'tag' => -4), + "commanderLevel" => array('type' => 6, 'tag' => -3), + "hasSilencePenalty" => array('type' => 13, 'tag' => -2), + "tandemId" => array('type' => 58, 'tag' => -1), +]), +65 => new ArrayNode( + new IntegerNode(5, 0), + 64 +), +66 => new StructNode([ + "phase" => array('type' => 12, 'tag' => -11), + "maxUsers" => array('type' => 2, 'tag' => -10), + "maxObservers" => array('type' => 2, 'tag' => -9), + "slots" => array('type' => 65, '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' +), +67 => new StructNode([ + "userInitialData" => array('type' => 48, 'tag' => -3), + "gameDescription" => array('type' => 57, 'tag' => -2), + "lobbyState" => array('type' => 66, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\SyncLobbyState' +), +68 => new StructNode([ + "syncLobbyState" => array('type' => 67, 'tag' => -1), +], + 'Rogiel\StarReplay\Metadata\Init\InitData' +), +69 => new StructNode([ + "name" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankFileEvent' +), +70 => new BlobNode(new IntegerNode(6, 0)), +71 => new StructNode([ + "name" => array('type' => 70, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSectionEvent' +), +72 => new StructNode([ + "name" => array('type' => 70, 'tag' => -3), + "type" => array('type' => 6, 'tag' => -2), + "data" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankKeyEvent' +), +73 => new StructNode([ + "type" => array('type' => 6, 'tag' => -3), + "name" => array('type' => 70, 'tag' => -2), + "data" => array('type' => 34, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankValueEvent' +), +74 => new ArrayNode( + new IntegerNode(5, 0), + 10, + 'Rogiel\StarReplay\Event\Game\Entity\BankSignature' + +), +75 => new StructNode([ + "signature" => array('type' => 74, 'tag' => -2), + "toonHandle" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BankSignatureEvent' +), +76 => 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' +), +77 => new StructNode([ +], + 'Rogiel\StarReplay\Event\Message\ServerPingMessage' +), +78 => new IntegerNode(16, 0), +79 => new StructNode([ + "x" => array('type' => 78, 'tag' => -2), + "y" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +80 => new StructNode([ + "which" => array('type' => 12, 'tag' => -2), + "target" => array('type' => 79, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraSaveEvent' +), +81 => 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' +), +82 => new StructNode([ + "sequence" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerResetEvent' +), +83 => new IntegerNode(32, -2147483648), +84 => new StructNode([ + "x" => array('type' => 83, 'tag' => -2), + "y" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +85 => new StructNode([ + "point" => array('type' => 84, 'tag' => -4), + "time" => array('type' => 83, 'tag' => -3), + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +]), +86 => new StructNode([ + "data" => array('type' => 85, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameCheatEvent' +), +87 => new IntegerNode(25, 0), +88 => new StructNode([ + "abilLink" => array('type' => 78, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "abilCmdData" => array('type' => 25, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\Ability' +), +89 => new OptionalNode(88), +90 => new NullNode(), +91 => new IntegerNode(20, 0), +92 => new StructNode([ + "x" => array('type' => 91, 'tag' => -3), + "y" => array('type' => 91, 'tag' => -2), + "z" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +93 => new StructNode([ + "targetUnitFlags" => array('type' => 78, 'tag' => -7), + "timer" => array('type' => 10, 'tag' => -6), + "tag" => array('type' => 6, 'tag' => -5), + "snapshotUnitLink" => array('type' => 78, 'tag' => -4), + "snapshotControlPlayerId" => array('type' => 58, 'tag' => -3), + "snapshotUpkeepPlayerId" => array('type' => 58, 'tag' => -2), + "snapshotPoint" => array('type' => 92, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\TargetUnit' +), +94 => new ChoiceNode(new IntegerNode(2), [ + 0 => 90, + 1 => 92, + 2 => 93, + 3 => 6, +]), +95 => new IntegerNode(32, 1), +96 => new StructNode([ + "cmdFlags" => array('type' => 87, 'tag' => -6), + "abil" => array('type' => 89, 'tag' => -5), + "data" => array('type' => 94, 'tag' => -4), + "sequence" => array('type' => 95, 'tag' => -3), + "otherUnit" => array('type' => 43, 'tag' => -2), + "unitGroup" => array('type' => 43, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdEvent' +), +97 => new IntegerNode(9, 0), +98 => new BitArrayNode( + new IntegerNode(9, 0) +, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateMask'), +99 => new ArrayNode( + new IntegerNode(9, 0), + 97, + 'Rogiel\StarReplay\Event\Game\Entity\ControlGroupUpdateZeroIndices' + +), +100 => new ChoiceNode(new IntegerNode(2), [ + 0 => 90, + 1 => 98, + 2 => 99, + 3 => 99, +]), +101 => new StructNode([ + "unitLink" => array('type' => 78, 'tag' => -4), + "subgroupPriority" => array('type' => 10, 'tag' => -3), + "intraSubgroupPriority" => array('type' => 10, 'tag' => -2), + "count" => array('type' => 97, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SubgroupUnit' +), +102 => new ArrayNode( + new IntegerNode(9, 0), + 101 +), +103 => new StructNode([ + "subgroupIndex" => array('type' => 97, 'tag' => -4), + "removeMask" => array('type' => 100, 'tag' => -3), + "addSubgroups" => array('type' => 102, 'tag' => -2), + "addUnitTags" => array('type' => 63, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SelectionDelta' +), +104 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "delta" => array('type' => 103, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionDeltaEvent' +), +105 => new StructNode([ + "controlGroupIndex" => array('type' => 1, 'tag' => -3), + "controlGroupUpdate" => array('type' => 12, 'tag' => -2), + "mask" => array('type' => 100, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ControlGroupUpdateEvent' +), +106 => new StructNode([ + "count" => array('type' => 97, 'tag' => -6), + "subgroupCount" => array('type' => 97, 'tag' => -5), + "activeSubgroupIndex" => array('type' => 97, 'tag' => -4), + "unitTagsChecksum" => array('type' => 6, 'tag' => -3), + "subgroupIndicesChecksum" => array('type' => 6, 'tag' => -2), + "subgroupsChecksum" => array('type' => 6, 'tag' => -1), +]), +107 => new StructNode([ + "controlGroupId" => array('type' => 1, 'tag' => -2), + "selectionSyncData" => array('type' => 106, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SelectionSyncCheckEvent' +), +108 => new ArrayNode( + new IntegerNode(3, 0), + 83, + 'Rogiel\StarReplay\Event\Game\Entity\ResourceRequest' + +), +109 => new StructNode([ + "recipientId" => array('type' => 1, 'tag' => -2), + "resources" => array('type' => 108, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceTradeEvent' +), +110 => new StructNode([ + "chatMessage" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerChatMessageEvent' +), +111 => new IntegerNode(8, -128), +112 => new StructNode([ + "x" => array('type' => 83, 'tag' => -3), + "y" => array('type' => 83, 'tag' => -2), + "z" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +113 => new StructNode([ + "beacon" => array('type' => 111, 'tag' => -9), + "ally" => array('type' => 111, 'tag' => -8), + "flags" => array('type' => 111, 'tag' => -7), + "build" => array('type' => 111, 'tag' => -6), + "targetUnitTag" => array('type' => 6, 'tag' => -5), + "targetUnitSnapshotUnitLink" => array('type' => 78, 'tag' => -4), + "targetUnitSnapshotUpkeepPlayerId" => array('type' => 111, 'tag' => -3), + "targetUnitSnapshotControlPlayerId" => array('type' => 111, 'tag' => -2), + "targetPoint" => array('type' => 112, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AICommunicateEvent' +), +114 => new StructNode([ + "speed" => array('type' => 12, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\SetAbsoluteGameSpeedEvent' +), +115 => new StructNode([ + "delta" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AddAbsoluteGameSpeedEvent' +), +116 => new StructNode([ + "point" => array('type' => 84, 'tag' => -9), + "unit" => array('type' => 6, 'tag' => -8), + "unitLink" => array('type' => 78, 'tag' => -7), + "unitControlPlayerId" => array('type' => 58, 'tag' => -6), + "unitUpkeepPlayerId" => array('type' => 58, 'tag' => -5), + "unitPosition" => array('type' => 92, 'tag' => -4), + "unitIsUnderConstruction" => array('type' => 13, 'tag' => -3), + "pingedMinimap" => array('type' => 13, 'tag' => -2), + "option" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPingEvent' +), +117 => new StructNode([ + "verb" => array('type' => 29, 'tag' => -2), + "arguments" => array('type' => 29, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\BroadcastCheatEvent' +), +118 => new StructNode([ + "alliance" => array('type' => 6, 'tag' => -2), + "control" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AllianceEvent' +), +119 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitClickEvent' +), +120 => new StructNode([ + "unitTag" => array('type' => 6, 'tag' => -2), + "flags" => array('type' => 10, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\UnitHighlightEvent' +), +121 => new StructNode([ + "conversationId" => array('type' => 83, 'tag' => -2), + "replyId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerReplySelectedEvent' +), +122 => new OptionalNode(20), +123 => new StructNode([ + "gameUserId" => array('type' => 1, 'tag' => -6), + "observe" => array('type' => 24, 'tag' => -5), + "name" => array('type' => 9, 'tag' => -4), + "toonHandle" => array('type' => 122, 'tag' => -3), + "clanTag" => array('type' => 41, 'tag' => -2), + "clanLogo" => array('type' => 42, 'tag' => -1), +]), +124 => new ArrayNode( + new IntegerNode(5, 0), + 123 +), +125 => new IntegerNode(1, 0), +126 => new StructNode([ + "userInfos" => array('type' => 124, 'tag' => -2), + "method" => array('type' => 125, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HijackReplayGameEvent' +), +127 => new StructNode([ + "purchaseItemId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseItemChangedEvent' +), +128 => new StructNode([ + "difficultyLevel" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerVictoryPanelPlayMissionAgainEvent' +), +129 => new ChoiceNode(new IntegerNode(3), [ + 0 => 90, + 1 => 13, + 2 => 6, + 3 => 83, + 4 => 30, + 5 => 6, +]), +130 => new StructNode([ + "controlId" => array('type' => 83, 'tag' => -3), + "eventType" => array('type' => 83, 'tag' => -2), + "eventData" => array('type' => 129, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerDialogControlEvent' +), +131 => new StructNode([ + "soundHash" => array('type' => 6, 'tag' => -2), + "length" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthQueryEvent' +), +132 => new ArrayNode( + new IntegerNode(7, 0), + 6 +), +133 => new StructNode([ + "soundHash" => array('type' => 132, 'tag' => -2), + "length" => array('type' => 132, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\Entity\SoundLengthSync' +), +134 => new StructNode([ + "syncInfo" => array('type' => 133, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundLengthSyncEvent' +), +135 => new StructNode([ + "queryId" => array('type' => 78, 'tag' => -3), + "lengthMs" => array('type' => 6, 'tag' => -2), + "finishGameLoop" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByNameEvent' +), +136 => new StructNode([ + "queryId" => array('type' => 78, 'tag' => -2), + "lengthMs" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimLengthQueryByPropsEvent' +), +137 => new StructNode([ + "animWaitQueryId" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerAnimOffsetEvent' +), +138 => new StructNode([ + "sound" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundOffsetEvent' +), +139 => new StructNode([ + "transmissionId" => array('type' => 83, 'tag' => -2), + "thread" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionOffsetEvent' +), +140 => new StructNode([ + "transmissionId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTransmissionCompleteEvent' +), +141 => new OptionalNode(79), +142 => new OptionalNode(78), +143 => new OptionalNode(111), +144 => new StructNode([ + "target" => array('type' => 141, 'tag' => -6), + "distance" => array('type' => 142, 'tag' => -5), + "pitch" => array('type' => 142, 'tag' => -4), + "yaw" => array('type' => 142, 'tag' => -3), + "reason" => array('type' => 143, 'tag' => -2), + "follow" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CameraUpdateEvent' +), +145 => new StructNode([ + "skipType" => array('type' => 125, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerConversationSkippedEvent' +), +146 => new IntegerNode(11, 0), +147 => new StructNode([ + "x" => array('type' => 146, 'tag' => -2), + "y" => array('type' => 146, 'tag' => -1), +], + 'Rogiel\StarReplay\Entity\Point' +), +148 => new StructNode([ + "button" => array('type' => 6, 'tag' => -5), + "down" => array('type' => 13, 'tag' => -4), + "posUI" => array('type' => 147, 'tag' => -3), + "posWorld" => array('type' => 92, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseClickedEvent' +), +149 => new StructNode([ + "posUI" => array('type' => 147, 'tag' => -3), + "posWorld" => array('type' => 92, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseMovedEvent' +), +150 => new StructNode([ + "achievementLink" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\AchievementAwardedEvent' +), +151 => new StructNode([ + "hotkey" => array('type' => 6, 'tag' => -2), + "down" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerHotkeyPressedEvent' +), +152 => new StructNode([ + "abilLink" => array('type' => 78, 'tag' => -3), + "abilCmdIndex" => array('type' => 2, 'tag' => -2), + "state" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerTargetModeUpdateEvent' +), +153 => new StructNode([ + "soundtrack" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerSoundtrackDoneEvent' +), +154 => new StructNode([ + "planetId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPlanetMissionSelectedEvent' +), +155 => new StructNode([ + "key" => array('type' => 111, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerKeyPressedEvent' +), +156 => new StructNode([ + "resources" => array('type' => 108, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestEvent' +), +157 => new StructNode([ + "fulfillRequestId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestFulfillEvent' +), +158 => new StructNode([ + "cancelRequestId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\ResourceRequestCancelEvent' +), +159 => new StructNode([ + "error" => array('type' => 83, 'tag' => -2), + "abil" => array('type' => 89, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCommandErrorEvent' +), +160 => new StructNode([ + "researchItemId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerResearchPanelSelectionChangedEvent' +), +161 => new StructNode([ + "mercenaryId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMercenaryPanelSelectionChangedEvent' +), +162 => new StructNode([ + "battleReportId" => array('type' => 83, 'tag' => -2), + "difficultyLevel" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelPlayMissionEvent' +), +163 => new StructNode([ + "battleReportId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerBattleReportPanelSelectionChangedEvent' +), +164 => new StructNode([ + "decrementSeconds" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\DecrementGameTimeRemainingEvent' +), +165 => new StructNode([ + "portraitId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPortraitLoadedEvent' +), +166 => new StructNode([ + "functionName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMovieFunctionEvent' +), +167 => new StructNode([ + "result" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCustomDialogDismissedEvent' +), +168 => new StructNode([ + "gameMenuItemIndex" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerGameMenuItemSelectedEvent' +), +169 => new IntegerNode(16, -32768), +170 => new StructNode([ + "wheelSpin" => array('type' => 169, 'tag' => -2), + "flags" => array('type' => 111, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerMouseWheelEvent' +), +171 => new StructNode([ + "purchaseCategoryId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerPurchasePanelSelectedPurchaseCategoryChangedEvent' +), +172 => new StructNode([ + "button" => array('type' => 78, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerButtonPressedEvent' +), +173 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -2), + "bookmarkName" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneBookmarkFiredEvent' +), +174 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneEndSceneFiredEvent' +), +175 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -3), + "conversationLine" => array('type' => 20, 'tag' => -2), + "altConversationLine" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneConversationLineEvent' +), +176 => new StructNode([ + "cutsceneId" => array('type' => 83, 'tag' => -2), + "conversationLine" => array('type' => 20, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\TriggerCutsceneConversationLineMissingEvent' +), +177 => new StructNode([ + "leaveReason" => array('type' => 1, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\GameUserLeaveEvent' +), +178 => new StructNode([ + "observe" => array('type' => 24, 'tag' => -7), + "name" => array('type' => 9, 'tag' => -6), + "toonHandle" => array('type' => 122, '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' +), +179 => new OptionalNode(95), +180 => new StructNode([ + "state" => array('type' => 24, 'tag' => -2), + "sequence" => array('type' => 179, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CommandManagerStateEvent' +), +181 => new StructNode([ + "target" => array('type' => 92, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetPointEvent' +), +182 => new StructNode([ + "target" => array('type' => 93, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CmdUpdateTargetUnitEvent' +), +183 => new StructNode([ + "catalog" => array('type' => 10, 'tag' => -4), + "entry" => array('type' => 78, 'tag' => -3), + "field" => array('type' => 9, 'tag' => -2), + "value" => array('type' => 9, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\CatalogModifyEvent' +), +184 => new StructNode([ + "index" => array('type' => 6, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HeroTalentTreeSelectedEvent' +), +185 => new StructNode([ + "shown" => array('type' => 13, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Game\HeroTalentTreeSelectionPanelToggledEvent' +), +186 => new StructNode([ + "recipient" => array('type' => 12, 'tag' => -2), + "string" => array('type' => 30, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\ChatMessage' +), +187 => new StructNode([ + "recipient" => array('type' => 12, 'tag' => -2), + "point" => array('type' => 84, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\PingMessage' +), +188 => new StructNode([ + "progress" => array('type' => 83, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\LoadingProgressMessage' +), +189 => new StructNode([ + "status" => array('type' => 24, 'tag' => -1), +], + 'Rogiel\StarReplay\Event\Message\ReconnectNotifyMessage' +), +190 => new StructNode([ + "scoreValueMineralsCurrent" => array('type' => 83, 'tag' => 0), + "scoreValueVespeneCurrent" => array('type' => 83, 'tag' => 1), + "scoreValueMineralsCollectionRate" => array('type' => 83, 'tag' => 2), + "scoreValueVespeneCollectionRate" => array('type' => 83, 'tag' => 3), + "scoreValueWorkersActiveCount" => array('type' => 83, 'tag' => 4), + "scoreValueMineralsUsedInProgressArmy" => array('type' => 83, 'tag' => 5), + "scoreValueMineralsUsedInProgressEconomy" => array('type' => 83, 'tag' => 6), + "scoreValueMineralsUsedInProgressTechnology" => array('type' => 83, 'tag' => 7), + "scoreValueVespeneUsedInProgressArmy" => array('type' => 83, 'tag' => 8), + "scoreValueVespeneUsedInProgressEconomy" => array('type' => 83, 'tag' => 9), + "scoreValueVespeneUsedInProgressTechnology" => array('type' => 83, 'tag' => 10), + "scoreValueMineralsUsedCurrentArmy" => array('type' => 83, 'tag' => 11), + "scoreValueMineralsUsedCurrentEconomy" => array('type' => 83, 'tag' => 12), + "scoreValueMineralsUsedCurrentTechnology" => array('type' => 83, 'tag' => 13), + "scoreValueVespeneUsedCurrentArmy" => array('type' => 83, 'tag' => 14), + "scoreValueVespeneUsedCurrentEconomy" => array('type' => 83, 'tag' => 15), + "scoreValueVespeneUsedCurrentTechnology" => array('type' => 83, 'tag' => 16), + "scoreValueMineralsLostArmy" => array('type' => 83, 'tag' => 17), + "scoreValueMineralsLostEconomy" => array('type' => 83, 'tag' => 18), + "scoreValueMineralsLostTechnology" => array('type' => 83, 'tag' => 19), + "scoreValueVespeneLostArmy" => array('type' => 83, 'tag' => 20), + "scoreValueVespeneLostEconomy" => array('type' => 83, 'tag' => 21), + "scoreValueVespeneLostTechnology" => array('type' => 83, 'tag' => 22), + "scoreValueMineralsKilledArmy" => array('type' => 83, 'tag' => 23), + "scoreValueMineralsKilledEconomy" => array('type' => 83, 'tag' => 24), + "scoreValueMineralsKilledTechnology" => array('type' => 83, 'tag' => 25), + "scoreValueVespeneKilledArmy" => array('type' => 83, 'tag' => 26), + "scoreValueVespeneKilledEconomy" => array('type' => 83, 'tag' => 27), + "scoreValueVespeneKilledTechnology" => array('type' => 83, 'tag' => 28), + "scoreValueFoodUsed" => array('type' => 83, 'tag' => 29), + "scoreValueFoodMade" => array('type' => 83, 'tag' => 30), + "scoreValueMineralsUsedActiveForces" => array('type' => 83, 'tag' => 31), + "scoreValueVespeneUsedActiveForces" => array('type' => 83, 'tag' => 32), + "scoreValueMineralsFriendlyFireArmy" => array('type' => 83, 'tag' => 33), + "scoreValueMineralsFriendlyFireEconomy" => array('type' => 83, 'tag' => 34), + "scoreValueMineralsFriendlyFireTechnology" => array('type' => 83, 'tag' => 35), + "scoreValueVespeneFriendlyFireArmy" => array('type' => 83, 'tag' => 36), + "scoreValueVespeneFriendlyFireEconomy" => array('type' => 83, 'tag' => 37), + "scoreValueVespeneFriendlyFireTechnology" => array('type' => 83, 'tag' => 38), +], + 'Rogiel\StarReplay\Event\Tracker\PlayerStats' +), +191 => new StructNode([ + "playerId" => array('type' => 1, 'tag' => 0), + "stats" => array('type' => 190, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\PlayerStatsEvent' +), +192 => 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' +), +193 => 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' +), +194 => 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' +), +195 => 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' +), +196 => new StructNode([ + "playerId" => array('type' => 1, 'tag' => 0), + "upgradeTypeName" => array('type' => 29, 'tag' => 1), + "count" => array('type' => 83, 'tag' => 2), +], + 'Rogiel\StarReplay\Event\Tracker\UpgradeEvent' +), +197 => new StructNode([ + "unitTagIndex" => array('type' => 6, 'tag' => 0), + "unitTagRecycle" => array('type' => 6, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\UnitDoneEvent' +), +198 => new ArrayNode( + new IntegerNode(10, 0), + 83, + 'Rogiel\StarReplay\Event\Tracker\UnitPositions' + +), +199 => new StructNode([ + "firstUnitIndex" => array('type' => 6, 'tag' => 0), + "items" => array('type' => 198, 'tag' => 1), +], + 'Rogiel\StarReplay\Event\Tracker\UnitPositionsEvent' +), +200 => 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' +), +] +); +Version42253::$GAME_EVENT_MAPPING = [ + 5 => 77, + 7 => 76, + 9 => 69, + 10 => 71, + 11 => 72, + 12 => 73, + 13 => 75, + 14 => 80, + 21 => 81, + 22 => 77, + 23 => 77, + 25 => 82, + 26 => 86, + 27 => 96, + 28 => 104, + 29 => 105, + 30 => 107, + 31 => 109, + 32 => 110, + 33 => 113, + 34 => 114, + 35 => 115, + 36 => 116, + 37 => 117, + 38 => 118, + 39 => 119, + 40 => 120, + 41 => 121, + 43 => 126, + 44 => 77, + 45 => 131, + 46 => 138, + 47 => 139, + 48 => 140, + 49 => 144, + 50 => 77, + 51 => 127, + 52 => 77, + 53 => 128, + 54 => 77, + 55 => 130, + 56 => 134, + 57 => 145, + 58 => 148, + 59 => 149, + 60 => 150, + 61 => 151, + 62 => 152, + 63 => 77, + 64 => 153, + 65 => 154, + 66 => 155, + 67 => 166, + 68 => 77, + 69 => 77, + 70 => 156, + 71 => 157, + 72 => 158, + 73 => 77, + 74 => 77, + 75 => 160, + 76 => 159, + 77 => 77, + 78 => 77, + 79 => 161, + 80 => 77, + 81 => 77, + 82 => 162, + 83 => 163, + 84 => 163, + 85 => 128, + 86 => 77, + 87 => 77, + 88 => 164, + 89 => 165, + 90 => 167, + 91 => 168, + 92 => 170, + 93 => 127, + 94 => 171, + 95 => 172, + 96 => 77, + 97 => 173, + 98 => 174, + 99 => 175, + 100 => 176, + 101 => 177, + 102 => 178, + 103 => 180, + 104 => 181, + 105 => 182, + 106 => 135, + 107 => 136, + 108 => 137, + 109 => 183, + 110 => 184, + 111 => 77, + 112 => 185, +]; +Version42253::$MESSAGE_EVENT_MAPPING = [ + 0 => 186, + 1 => 187, + 2 => 188, + 3 => 77, + 4 => 189, +]; +Version42253::$TRACKER_EVENT_MAPPING = [ + 0 => 191, + 1 => 192, + 2 => 193, + 3 => 194, + 4 => 195, + 5 => 196, + 6 => 192, + 7 => 197, + 8 => 199, + 9 => 200, +]; diff --git a/src/Version/Version42932.php b/src/Version/Version42932.php new file mode 100644 index 0000000..5138808 --- /dev/null +++ b/src/Version/Version42932.php @@ -0,0 +1,1349 @@ +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 + ); + } + +} + +Version42932::$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), +]), +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' +), +] +); +Version42932::$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, +]; +Version42932::$MESSAGE_EVENT_MAPPING = [ + 0 => 187, + 1 => 188, + 2 => 189, + 3 => 78, + 4 => 190, +]; +Version42932::$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/Version43199.php b/src/Version/Version43199.php new file mode 100644 index 0000000..2ee3272 --- /dev/null +++ b/src/Version/Version43199.php @@ -0,0 +1,1349 @@ +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 + ); + } + +} + +Version43199::$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), +]), +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' +), +] +); +Version43199::$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, +]; +Version43199::$MESSAGE_EVENT_MAPPING = [ + 0 => 187, + 1 => 188, + 2 => 189, + 3 => 78, + 4 => 190, +]; +Version43199::$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/Version43478.php b/src/Version/Version43478.php new file mode 100644 index 0000000..a89096e --- /dev/null +++ b/src/Version/Version43478.php @@ -0,0 +1,1349 @@ +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 + ); + } + +} + +Version43478::$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), +]), +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' +), +] +); +Version43478::$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, +]; +Version43478::$MESSAGE_EVENT_MAPPING = [ + 0 => 187, + 1 => 188, + 2 => 189, + 3 => 78, + 4 => 190, +]; +Version43478::$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..5e908c2 100644 --- a/src/Version/Versions.php +++ b/src/Version/Versions.php @@ -61,9 +61,23 @@ 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' ]; }