private static void svc_cmdkeyvalues(BitBuffer bb, TreeNode node) { var b = bb.ReadBits(32); node.Nodes.Add("Length in bits: " + b); bb.SeekBits(b); }
private static void svc_gameevent(BitBuffer bb, TreeNode node) { var b = bb.ReadBits(11); node.Nodes.Add("Length in bits: " + b); bb.SeekBits(b); }
private static void svc_gameeventlist(BitBuffer bb, TreeNode node) { node.Nodes.Add("Number of events: " + bb.ReadBits(9)); var b = bb.ReadBits(20); node.Nodes.Add("Length in bits: " + b); bb.SeekBits(b); }
private static void svc_menu(BitBuffer bb, TreeNode node) { node.Nodes.Add("Menu type: " + bb.ReadBits(16)); var b = bb.ReadBits(16); node.Nodes.Add("Length in bytes: " + b); bb.SeekBits(b << 3); }
private static void svc_tempentities(BitBuffer bb, TreeNode node) { node.Nodes.Add("Number of entries: " + bb.ReadBits(8)); var b = bb.ReadBits(17); node.Nodes.Add("Length in bits: " + b); bb.SeekBits(b); }
private static void svc_sendtable(BitBuffer bb, TreeNode node) { node.Nodes.Add("Needs decoder: " + bb.ReadBoolean()); var n = bb.ReadBits(16); node.Nodes.Add("Length in bits: " + n); bb.SeekBits(n); }
private static void svc_usermessage(BitBuffer bb, TreeNode node) { node.Nodes.Add("Message type: " + bb.ReadBits(8)); var b = bb.ReadBits(11); node.Nodes.Add("Length in bits: " + b); bb.SeekBits(b); }
private static void svc_entitymessage(BitBuffer bb, TreeNode node) { node.Nodes.Add("Entity index: " + bb.ReadBits(11)); node.Nodes.Add("Class ID: " + bb.ReadBits(9)); var b = bb.ReadBits(11); node.Nodes.Add("Length in bits: " + b); bb.SeekBits(b); }
private static void svc_voicedata(BitBuffer bb, TreeNode node) { node.Nodes.Add("Client: " + bb.ReadBits(8)); node.Nodes.Add("Proximity: " + bb.ReadBits(8)); var b = bb.ReadBits(16); node.Nodes.Add("Length in bits: " + b); bb.SeekBits(b); }
private static void svc_updatestringtable(BitBuffer bb, TreeNode node) { node.Nodes.Add("Table ID: " + bb.ReadBits(5)); node.Nodes.Add("Changed entries: " + (bb.ReadBoolean() ? bb.ReadBits(16) : 1)); var b = bb.ReadBits(20); node.Nodes.Add("Length in bits: " + b); bb.SeekBits(b); }
private static void svc_sounds(BitBuffer bb, TreeNode node) { var r = bb.ReadBoolean(); node.Nodes.Add("Reliable: " + r); node.Nodes.Add("Number of sounds: " + (r ? 1 : bb.ReadBits(8))); var b = r ? bb.ReadBits(8) : bb.ReadBits(16); node.Nodes.Add("Length in bits: " + b); bb.SeekBits(b); }
private static void svc_packetentities(BitBuffer bb, TreeNode node) { node.Nodes.Add("Max entries: " + bb.ReadBits(11)); var d = bb.ReadBoolean(); node.Nodes.Add("Is delta: " + d); if (d) { node.Nodes.Add("Delta from: " + bb.ReadBits(32)); } node.Nodes.Add("Baseline: " + bb.ReadBoolean()); node.Nodes.Add("Updated entries: " + bb.ReadBits(11)); var b = bb.ReadBits(20); node.Nodes.Add("Length in bits: " + b); node.Nodes.Add("Update baseline: " + bb.ReadBoolean()); bb.SeekBits(b); }
private static void ParseTables(BitBuffer bb, TreeNode node) { while (bb.ReadBoolean()) { var needsdecoder = bb.ReadBoolean(); var dtnode = node.Nodes.Add(bb.ReadString()); if (needsdecoder) { dtnode.Text += "*"; } var numprops = bb.ReadBits(10); dtnode.Text += " (" + numprops + " props)"; for (var i = 0; i < numprops; i++) { var type = (SendPropType)bb.ReadBits(5); var propnode = dtnode.Nodes.Add("DPT_" + type + " " + bb.ReadString()); var flags = (SendPropFlags)bb.ReadBits(16); if (type == SendPropType.DataTable || (flags & SendPropFlags.Exclude) != 0) { propnode.Text += " : " + bb.ReadString(); } else { if (type == SendPropType.Array) { propnode.Text += "[" + bb.ReadBits(10) + "]"; } else { bb.SeekBits(64); propnode.Text += " (" + bb.ReadBits(7) + " bits)"; } } } } }
private static void svc_createstringtable(BitBuffer bb, TreeNode node) { node.Nodes.Add("Table name: " + bb.ReadString()); var m = bb.ReadBits(16); node.Nodes.Add("Max entries: " + m); node.Nodes.Add("Number of entries: " + bb.ReadBits((int)Math.Log(m, 2) + 1)); var n = bb.ReadBits(20); node.Nodes.Add("Length in bits: " + n); var f = bb.ReadBoolean(); node.Nodes.Add("Userdata fixed size: " + f); if (f) { node.Nodes.Add("Userdata size: " + bb.ReadBits(12)); node.Nodes.Add("Userdata bits: " + bb.ReadBits(4)); } // ???: this is not in Source 2007 netmessages.h/cpp it seems. protocol version? node.Nodes.Add("Compressed: " + bb.ReadBoolean()); bb.SeekBits(n); }