Skip to content

Commit 6a7b303

Browse files
akivermarkus-wa
authored andcommitted
fix: bidirectional messages creator fallback for net messages
1 parent f8ab982 commit 6a7b303

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

pkg/demoinfocs/s2_commands.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,13 @@ var teCreators = map[msg.ETEProtobufIds]NetMessageCreator{
269269
msg.ETEProtobufIds_TE_SmokeId: func() proto.Message { return &msg.CMsgTESmoke{} },
270270
}
271271

272+
var bidirectionalMessageCreators = map[msg.Bidirectional_Messages]NetMessageCreator{
273+
msg.Bidirectional_Messages_bi_RebroadcastGameEvent: func() proto.Message { return &msg.CBidirMsg_RebroadcastGameEvent{} },
274+
msg.Bidirectional_Messages_bi_RebroadcastSource: func() proto.Message { return &msg.CBidirMsg_RebroadcastSource{} },
275+
msg.Bidirectional_Messages_bi_GameEvent: func() proto.Message { return &msg.CBidirMsg_RebroadcastGameEvent{} },
276+
msg.Bidirectional_Messages_bi_PredictionEvent: func() proto.Message { return &msg.CBidirMsg_PredictionEvent{} },
277+
}
278+
272279
type pendingMessage struct {
273280
t int32
274281
buf []byte
@@ -324,6 +331,10 @@ func (p *parser) handleDemoPacket(pack *msg.CDemoPacket) {
324331

325332
if m.t < int32(msg.SVC_Messages_svc_ServerInfo) {
326333
msgCreator = netMsgCreators[msg.NET_Messages(m.t)]
334+
335+
if msgCreator == nil {
336+
msgCreator = bidirectionalMessageCreators[msg.Bidirectional_Messages(m.t)]
337+
}
327338
} else if m.t < int32(msg.EBaseUserMessages_UM_AchievementEvent) {
328339
msgCreator = svcMsgCreators[msg.SVC_Messages(m.t)]
329340
} else if m.t < int32(msg.EBaseGameEvents_GE_VDebugGameSessionIDEvent) {

0 commit comments

Comments
 (0)