@OnMessage(CMsgDOTAMatch.class) public void onDotaMatch(Context ctx, CMsgDOTAMatch message) { //TODO could use this for match overview data for uploads //System.err.println(message); }
@OnMessage(DotaUserMessages.CDOTAUserMsg_CombatLogBulkData.class) public void onCombatLogBulkData(DotaUserMessages.CDOTAUserMsg_CombatLogBulkData message) { if (logBulkData) { log.warn("This replay contains a CDOTAUserMsg_CombatLogBulkData message. I need one of those replays to analyze. Please report the match id: https://github.com/skadistats/clarity/issues/58"); logBulkData = false; } }
@OnMessage(NetworkBaseTypes.CNETMsg_SpawnGroup_LoadCompleted.class) public void onLoadCompleted(NetworkBaseTypes.CNETMsg_SpawnGroup_LoadCompleted message) { System.out.println("LOADCOMPLETED ----------------------------------------------------------------------------------------------"); System.out.println(message); }
@OnMessage(Demo.CDemoStop.class) public void onDemoStop(Demo.CDemoStop msg) { lock.lock(); try { demoStopSeen = true; fileChanged.signalAll(); } finally { lock.unlock(); } }
@OnMessage(S2NetMessages.CSVCMsg_ClearAllStringTables.class) public void clearAllStringTables(S2NetMessages.CSVCMsg_ClearAllStringTables msg) { numTables = 0; evClear.raise(); }
@OnMessage(DotaUserMessages.CMsgDOTACombatLogEntry.class) public void onCombatLogEntry(DotaUserMessages.CMsgDOTACombatLogEntry message) { logEntries.add(new S2CombatLogEntry( stringTables.forName(STRING_TABLE_NAME), message )); }
@OnMessage(CUserMsg_SayText2.class) public void onAllChatS1(Context ctx, CUserMsg_SayText2 message) { Entry entry = new Entry(time); entry.unit = String.valueOf(message.getPrefix()); entry.key = String.valueOf(message.getText()); entry.type = "chat"; output(entry); }
@OnMessage(NetMessages.CSVCMsg_ServerInfo.class) public void onServerInfo(NetMessages.CSVCMsg_ServerInfo message) throws IOException { clear(); gameSessionManifest = new GameSessionManifest(); addManifestData(gameSessionManifest, message.getGameSessionManifest()); }
@OnMessage(NetMessages.CSVCMsg_ServerInfo.class) public void onServerInfo(NetMessages.CSVCMsg_ServerInfo message) throws IOException { clear(); gameSessionManifest = new GameSessionManifest(); addManifestData(gameSessionManifest, message.getGameSessionManifest()); }
@OnMessage(NetworkBaseTypes.CNETMsg_SpawnGroup_ManifestUpdate.class) public void onManifestUpdate(NetworkBaseTypes.CNETMsg_SpawnGroup_ManifestUpdate message) throws IOException { SpawnGroupManifest m = spawnGroupManifests.get(message.getSpawngrouphandle()); if (m == null) { throw new ClarityException("CNETMsg_SpawnGroup_ManifestUpdate for an unknown handle: %d", message.getSpawngrouphandle()); } m.incomplete = message.getManifestincomplete(); addManifestData(m, message.getSpawngroupmanifest()); }
@OnMessage(NetMessages.CSVCMsg_ClassInfo.class) public void onServerClassInfo(NetMessages.CSVCMsg_ClassInfo message) { for (NetMessages.CSVCMsg_ClassInfo.class_t ct : message.getClassesList()) { DTClass dt = dtClasses.forDtName(ct.getClassName()); dt.setClassId(ct.getClassId()); dtClasses.byClassId.put(ct.getClassId(), dt); } dtClasses.classBits = Util.calcBitsNeededFor(dtClasses.byClassId.size() - 1); evClassesComplete.raise(); }
@OnMessage(Demo.CDemoClassInfo.class) public void onDemoClassInfo(Demo.CDemoClassInfo message) { for (Demo.CDemoClassInfo.class_t ct : message.getClassesList()) { DTClass dt = dtClasses.forDtName(ct.getNetworkName()); dt.setClassId(ct.getClassId()); dtClasses.byClassId.put(ct.getClassId(), dt); } dtClasses.classBits = Util.calcBitsNeededFor(dtClasses.byClassId.size() - 1); evClassesComplete.raise(); }
@OnMessage(Demo.CDemoClassInfo.class) public void onDemoClassInfo(Demo.CDemoClassInfo message) { for (Demo.CDemoClassInfo.class_t ct : message.getClassesList()) { DTClass dt = dtClasses.forDtName(ct.getNetworkName()); dt.setClassId(ct.getClassId()); dtClasses.byClassId.put(ct.getClassId(), dt); } dtClasses.classBits = Util.calcBitsNeededFor(dtClasses.byClassId.size() - 1); evClassesComplete.raise(); }
@OnMessage(Demo.CDemoSendTables.class) public void onSendTables(Demo.CDemoSendTables sendTables) throws IOException { CodedInputStream cis = CodedInputStream.newInstance(ZeroCopy.extract(sendTables.getData())); S2NetMessages.CSVCMsg_FlattenedSerializer protoMessage = Packet.parse( S2NetMessages.CSVCMsg_FlattenedSerializer.class, ZeroCopy.wrap(cis.readRawBytes(cis.readRawVarint32())) ); onFlattenedSerializers(protoMessage); }
@OnMessage(Demo.CDemoClassInfo.class) public void onClassInfo(Demo.CDemoClassInfo message) { for (Demo.CDemoClassInfo.class_t ct : message.getClassesList()) { DTClass dt = dtClasses.forDtName(ct.getTableName()); if (dt == null) { throw new ClarityException("DTClass for '%s' not found.", ct.getTableName()); } dt.setClassId(ct.getClassId()); dtClasses.byClassId.put(ct.getClassId(), dt); } dtClasses.classBits = Util.calcBitsNeededFor(dtClasses.byClassId.size() - 1); }
@OnMessage(NetworkBaseTypes.CNETMsg_SpawnGroup_Load.class) public void onLoad(NetworkBaseTypes.CNETMsg_SpawnGroup_Load message) throws IOException { if (spawnGroupManifests.containsKey(message.getSpawngrouphandle())) { throw new ClarityException("CNETMsg_SpawnGroup_Load for an already existing handle: %d", message.getSpawngrouphandle()); } SpawnGroupManifest m = new SpawnGroupManifest(); m.spawnGroupHandle = message.getSpawngrouphandle(); m.creationSequence = message.getCreationsequence(); m.incomplete = message.getManifestincomplete(); spawnGroupManifests.put(m.spawnGroupHandle, m); addManifestData(m, message.getSpawngroupmanifest()); }
@OnMessage(NetMessages.CSVCMsg_UpdateStringTable.class) public void onUpdateStringTable(NetMessages.CSVCMsg_UpdateStringTable message) throws IOException { StringTable table = stringTables.forId(message.getTableId()); if (table != null) { decodeEntries(table, 2, message.getStringData(), message.getNumChangedEntries()); } }
@OnMessage(NetworkBaseTypes.CNETMsg_SpawnGroup_Load.class) public void onLoad(NetworkBaseTypes.CNETMsg_SpawnGroup_Load message) throws IOException { if (spawnGroupManifests.containsKey(message.getSpawngrouphandle())) { throw new ClarityException("CNETMsg_SpawnGroup_Load for an already existing handle: %d", message.getSpawngrouphandle()); } SpawnGroupManifest m = new SpawnGroupManifest(); m.spawnGroupHandle = message.getSpawngrouphandle(); m.creationSequence = message.getCreationsequence(); m.incomplete = message.getManifestincomplete(); spawnGroupManifests.put(m.spawnGroupHandle, m); addManifestData(m, message.getSpawngroupmanifest()); }
@OnMessage(NetMessages.CSVCMsg_UpdateStringTable.class) public void onUpdateStringTable(NetMessages.CSVCMsg_UpdateStringTable message) { StringTable table = stringTables.forId(message.getTableId()); if (table != null) { decodeEntries(table, 2, message.getStringData(), message.getNumChangedEntries()); } }
@OnMessage(Demo.CDemoSendTables.class) public void onSendTables(Demo.CDemoSendTables sendTables) throws IOException { CodedInputStream cis = CodedInputStream.newInstance(ZeroCopy.extract(sendTables.getData())); S2NetMessages.CSVCMsg_FlattenedSerializer protoMessage = Packet.parse( S2NetMessages.CSVCMsg_FlattenedSerializer.class, ZeroCopy.wrap(cis.readRawBytes(cis.readRawVarint32())) ); onFlattenedSerializers(protoMessage); }