Skip to content

Commit 38dc341

Browse files
committed
Populate the info column with useful data
1 parent 36226ab commit 38dc341

1 file changed

Lines changed: 17 additions & 1 deletion

File tree

wireshark/doom.lua

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ function doom.dissector(tvbuf, pktinfo, root)
4646
end
4747

4848
local tree = root:add(doom, tvbuf:range(0,pktlen))
49+
local pkt_bytes = tvbuf:bytes()
4950

5051
local flags_range = tvbuf:range(0, 4)
5152
local flag_tree = tree:add_le(doom_flags, flags_range)
@@ -55,15 +56,26 @@ function doom.dissector(tvbuf, pktinfo, root)
5556
flag_tree:add_le(doom_flag_setup, flags_range)
5657
flag_tree:add_le(doom_flag_kill, flags_range)
5758

59+
if (pkt_bytes:le_uint(0, 4) & NCMD_SETUP) ~= 0 then
60+
pktinfo.cols.info:set("Game start packet")
61+
return
62+
end
63+
5864
tree:add(doom_retransmitfrom, tvbuf:range(4, 1))
5965
tree:add(doom_starttic, tvbuf:range(5, 1))
6066
tree:add(doom_player, tvbuf:range(6, 1))
6167
tree:add(doom_numtics, tvbuf:range(7, 1))
6268

63-
local pkt_bytes = tvbuf:bytes()
6469
local starttic = pkt_bytes:get_index(5)
6570
local numtics = pkt_bytes:get_index(7)
6671

72+
pktinfo.cols.info:set("Game data")
73+
if numtics == 1 then
74+
pktinfo.cols.info:append(string.format(": tic %d", starttic))
75+
else
76+
pktinfo.cols.info:append(string.format(": tics %d-%d", starttic, starttic + numtics - 1))
77+
end
78+
6779
local tics_range = tvbuf(8)
6880
for i = 0, numtics-1 do
6981
local tic_range = tics_range:range(i * 8, 8)
@@ -113,6 +125,10 @@ function doom_ipx.dissector(tvbuf, pktinfo, root)
113125
tree:add_le(ipxsetup_tail, tvbuf:range(pktlen - 4, 4))
114126

115127
if pkt_bytes:uint(0, 4) == 0xffffffff then
128+
pktinfo.cols.info:set(
129+
string.format("Game setup packet: %d/%d nodes found",
130+
pkt_bytes:le_uint(8, 2),
131+
pkt_bytes:le_uint(10, 2)))
116132
tree:add_le(ipxsetup_gameid, tvbuf:range(4, 2))
117133
tree:add_le(ipxsetup_drone, tvbuf:range(6, 2))
118134
tree:add_le(ipxsetup_nodesfound, tvbuf:range(8, 2))

0 commit comments

Comments
 (0)