Skip to content

Commit 761e36c

Browse files
committed
events: add RoundImpactScoreData from Broken Fangs update
1 parent d4a3aa3 commit 761e36c

File tree

2 files changed

+23
-3
lines changed

2 files changed

+23
-3
lines changed

pkg/demoinfocs/events/events.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -541,3 +541,8 @@ type PlayerSpottersChanged struct {
541541
type ConVarsUpdated struct {
542542
UpdatedConVars map[string]string
543543
}
544+
545+
// RoundImpactScoreData contains impact assessments of events that happened during the last round.
546+
type RoundImpactScoreData struct {
547+
RawMessage *msg.CCSUsrMsg_RoundImpactScoreData
548+
}

pkg/demoinfocs/user_messages.go

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,10 @@ func newUserMessageHandler(parser *parser) userMessageHandler {
4444
umh := userMessageHandler{parser: parser}
4545

4646
umh.msgTypeToHandler = map[msg.ECstrike15UserMessages]userMessageHandlerFunc{
47-
msg.ECstrike15UserMessages_CS_UM_SayText: umh.sayText,
48-
msg.ECstrike15UserMessages_CS_UM_SayText2: umh.sayText2,
49-
msg.ECstrike15UserMessages_CS_UM_ServerRankUpdate: umh.rankUpdate,
47+
msg.ECstrike15UserMessages_CS_UM_SayText: umh.sayText,
48+
msg.ECstrike15UserMessages_CS_UM_SayText2: umh.sayText2,
49+
msg.ECstrike15UserMessages_CS_UM_ServerRankUpdate: umh.rankUpdate,
50+
msg.ECstrike15UserMessages_CS_UM_RoundImpactScoreData: umh.roundImpactScoreData,
5051
// TODO: handle more user messages (if they are interesting)
5152
// Maybe msg.ECstrike15UserMessages_CS_UM_RadioText
5253
}
@@ -142,3 +143,17 @@ func (umh userMessageHandler) rankUpdate(um *msg.CSVCMsg_UserMessage) {
142143
})
143144
}
144145
}
146+
147+
func (umh userMessageHandler) roundImpactScoreData(um *msg.CSVCMsg_UserMessage) {
148+
impactData := new(msg.CCSUsrMsg_RoundImpactScoreData)
149+
err := impactData.Unmarshal(um.MsgData)
150+
151+
if err != nil {
152+
umh.dispatch(events.ParserWarn{Message: fmt.Sprintf("failed to decode RoundImpactScoreData message: %s", err.Error())})
153+
unassert.Error("failed to decode RoundImpactScoreData message: %s", err.Error())
154+
}
155+
156+
umh.dispatch(events.RoundImpactScoreData{
157+
RawMessage: impactData,
158+
})
159+
}

0 commit comments

Comments
 (0)