File tree Expand file tree Collapse file tree 3 files changed +31
-6
lines changed Expand file tree Collapse file tree 3 files changed +31
-6
lines changed Original file line number Diff line number Diff line change @@ -361,9 +361,28 @@ func TestDemoSet(t *testing.T) {
361361
362362 p := demoinfocs .NewParser (f )
363363
364- p .RegisterEventHandler (func (event events.GenericGameEvent ) {
365- if event .Name == "bot_takeover" {
366- t .Log (event .Data )
364+ p .RegisterEventHandler (func (warn events.ParserWarn ) {
365+ switch warn .Type {
366+ case events .WarnTypeBombsiteUnknown :
367+ if p .Header ().MapName == "de_grind" {
368+ t .Log ("expected known issue with bomb sites on de_grind occurred:" , warn .Message )
369+
370+ return
371+ }
372+
373+ case events .WarnTypeTeamSwapPlayerNil :
374+ t .Log ("expected known issue with team swaps occurred" , warn .Message )
375+ return
376+
377+ case events .WarnTypeGameEventBeforeDescriptors :
378+ if strings .Contains (name , "POV-orbit-skytten-vs-cloud9-gfinity15sm1-nuke.dem" ) {
379+ t .Log ("expected known issue for POV demos occurred:" , warn .Message )
380+
381+ return
382+ }
383+
384+ default :
385+ t .Error ("unexpected parser warning occurred:" , warn .Message )
367386 }
368387 })
369388
Original file line number Diff line number Diff line change @@ -503,8 +503,10 @@ type StringTableCreated struct {
503503type WarnType int
504504
505505const (
506- WarnTypeUndefined = iota
507- WarnTypeBombsiteUnknown // may occur on de_grind for bombsite B as the bounding box of the bombsite is wrong
506+ WarnTypeUndefined = iota
507+ WarnTypeBombsiteUnknown // may occur on de_grind for bombsite B as the bounding box of the bombsite is wrong
508+ WarnTypeTeamSwapPlayerNil // TODO: figure out why this happens
509+ WarnTypeGameEventBeforeDescriptors // may occur in POV demos
508510)
509511
510512// ParserWarn signals that a non-fatal problem occurred during parsing.
Original file line number Diff line number Diff line change @@ -20,7 +20,10 @@ func (p *parser) handleGameEventList(gel *msg.CSVCMsg_GameEventList) {
2020
2121func (p * parser ) handleGameEvent (ge * msg.CSVCMsg_GameEvent ) {
2222 if p .gameEventDescs == nil {
23- p .eventDispatcher .Dispatch (events.ParserWarn {Message : "received GameEvent but event descriptors are missing" })
23+ p .eventDispatcher .Dispatch (events.ParserWarn {
24+ Message : "received GameEvent but event descriptors are missing" ,
25+ Type : events .WarnTypeGameEventBeforeDescriptors ,
26+ })
2427
2528 return
2629 }
@@ -571,6 +574,7 @@ func (geh gameEventHandler) playerTeam(data map[string]*msg.CSVCMsg_GameEventKey
571574 // TODO: figure out why this happens and whether it's a bug or not
572575 geh .dispatch (events.ParserWarn {
573576 Message : "Player team swap game-event occurred but player is nil" ,
577+ Type : events .WarnTypeTeamSwapPlayerNil ,
574578 })
575579 }
576580}
You can’t perform that action at this time.
0 commit comments