Skip to content

Releases: markus-wa/demoinfocs-golang

v0.5.0

02 Jun 21:25
Compare
Choose a tag to compare

API Breaking Changes

  • Removed warnHandler parameter from NewParser(), replaced the old warning system with ParserWarnEvent
  • Replaced NewParserWithBufferSize() with NewParserWithConfig() to allow for changes in the future without breaking the API

New Features

  • Added events.GenericGameEvent which is fired for all currently unhandled events.
  • Parsing and handling of all net-messages via Parser.RegisterNetMessageHandler(). Currently unparsed net-messages can be parsed by adding an entry to ParserConfig.AdditionalNetMessageCreators. 1
  • Added ParserConfig.AdditionalEventEmitters which can be used to enable fuzzy logic from the fuzzy package. 1
    Currently there is only one EventEmitter implementation which emits fuzzy.TeamSwitchEvents for Valve MM demos. More will be added if this feature proves to be of use.

  1. Beta feature - this feature is subject to change / replacement without warning.

v0.4.0

02 Jun 21:26
Compare
Choose a tag to compare

This release has some breaking changes with the goal of cleaning up the API.

API Breaking Changes

  • Moved game-state relevant info into Parser.GameState() (i.e. players, team states / scores etc.)
  • Moved Parser.{FrameRate(),FrameTime()} to DemoHeader.* (Accessible via Parser.Header())

Changes

  • Exposed access to DataTables (a.k.a. SendTables) via Parser.SendTableParser() 1
  • Added StringTableCreatedEvent 1
  • Print out demo-commands when debugging

Fixes

  • Fixed UpdateStringTable messages not being handled correctly
  • Fixed unassigned players becoming CTs (Players who haven't chosen a side yet / some spectators)

  1. Beta feature - this feature is subject to change / replacement without warning.

v0.3.0

03 May 16:41
Compare
Choose a tag to compare

API Breaking Changes

  • Changed bomb-events attribute Site to be of type bombsite (either events.BombsiteA or events.BombsiteB) instead of rune
  • Changed name of field BombBeginDefuseEvent.Defuser to Player so as to be in line with the other bomb-events

Changes

  • Added build tag debugdemoinfocs for debugging game events etc.
  • Vendoring with dep
  • Bitread v0.2.1 (BitReader.Skip())

Fixes

  • Fixed BombBeginDefuseEvent not being handled by BombEventIf handlers

Vendoring

We are using a separate repository for dependencies (https://github.com/markus-wa/demoinfocs-golang-vendor). The reason behind that is to avoid cluttering the repo and avoid search results on github returning irrelevant results.

v0.2.0

16 Apr 19:18
Compare
Choose a tag to compare

Changes

  • Added Parser.Header() method to access the DemoHeader (thanks @micvbang)
  • Return DemoHeader when calling Parser.ParseHeader() (API breaking)
  • New error ErrUnexpectedEndOfDemo for unexpected end of stream
  • New error ErrCancelled to identify cancellation

v0.1.1

10 Apr 01:43
Compare
Choose a tag to compare
  • Fixed #3 (No more panics on incomplete demos)

v0.1.0

09 Apr 15:20
Compare
Choose a tag to compare

Finally, the first (pre-)release (This should have been done a while ago).

The API is fairly stable and most things should work pretty well at this point.

There are still some bugs and improvements to be made until I feel good about putting a v1.0.0 out there.