@@ -3,7 +3,6 @@ package demoinfocs
33import (
44 "bytes"
55 "fmt"
6- "os"
76 "strconv"
87
98 r3 "github.com/golang/geo/r3"
@@ -71,6 +70,8 @@ func (p *Parser) readEnterPVS(reader *bit.BitReader, entityID int) *st.Entity {
7170 r := bit .NewSmallBitReader (bytes .NewReader (p .instanceBaselines [scID ]))
7271 newEntity .ApplyUpdate (r )
7372 r .Pool ()
73+ // TODO: Unregister PropertyUpdateHandlers from CollectProperties()
74+ // PropertyUpdateHandlers would have to be registered as pointers for that to work
7475 }
7576 p .preprocessedBaselines [scID ] = ppBase
7677 }
@@ -473,7 +474,9 @@ func (p *Parser) handleGameEvent(ge *msg.CSVCMsg_GameEvent) {
473474 case "hltv_fixed" : // Dunno
474475 case "cs_match_end_restart" : // Yawn
475476 default :
476- fmt .Fprintf (os .Stderr , "WARNING: Unknown event %q\n " , d .Name )
477+ if p .warn != nil {
478+ p .warn (fmt .Sprintf ("Unknown event %q" , d .Name ))
479+ }
477480 }
478481}
479482
@@ -618,8 +621,9 @@ func (p *Parser) handleUserMessage(um *msg.CSVCMsg_UserMessage) {
618621 case msg .ECstrike15UserMessages_CS_UM_SayText :
619622 st := new (msg.CCSUsrMsg_SayText )
620623 err := st .Unmarshal (um .MsgData )
621- if err != nil {
622- panic (fmt .Sprintf ("Failed to decode SayText message: %s" , err .Error ()))
624+ if err != nil && p .warn != nil {
625+ // Just send a warning, chat messages aren't that important
626+ p .warn (fmt .Sprintf ("Failed to decode SayText message: %s" , err .Error ()))
623627 }
624628
625629 p .eventDispatcher .Dispatch (events.SayTextEvent {
@@ -632,8 +636,8 @@ func (p *Parser) handleUserMessage(um *msg.CSVCMsg_UserMessage) {
632636 case msg .ECstrike15UserMessages_CS_UM_SayText2 :
633637 st := new (msg.CCSUsrMsg_SayText2 )
634638 err := st .Unmarshal (um .MsgData )
635- if err != nil {
636- panic (fmt .Sprintf ("Failed to decode SayText2 message: %s" , err .Error ()))
639+ if err != nil && p . warn != nil {
640+ p . warn (fmt .Sprintf ("Failed to decode SayText2 message: %s" , err .Error ()))
637641 }
638642
639643 sender := p .players [int (st .EntIdx )]
@@ -654,7 +658,11 @@ func (p *Parser) handleUserMessage(um *msg.CSVCMsg_UserMessage) {
654658 Text : st .Params [1 ],
655659 IsChatAll : st .Textallchat ,
656660 })
661+
657662 default :
663+ if p .warn != nil {
664+ p .warn (fmt .Sprintf ("Skipped sending ChatMessageEvent for SayText2 with unknown MsgName %q" , st .MsgName ))
665+ }
658666 }
659667
660668 default :
0 commit comments