Skip to content

Releases: markus-wa/demoinfocs-golang

v2.5.0

05 Dec 22:25
96285c2
Compare
Choose a tag to compare

Operation Broken Fang Update

Operation Broken Fang brings with it some interesting new demo data!

There's a new event events.RoundImpactScoreData, containing initial round conditions, kill events and objective events, each with new odds of winning the round per team.

This might be interesting if you're doing player impact analysis, anomaly detection for round wins/clutches and/or training some kind of AI system.

image

New Features / Changes

  • Added events.RoundImpactScoreData which is dispatched at the end of every round (only demos after the "Operation Broken Fang" update)
    • Initial round conditions (equipment value) and odds
    • Kills (+ damage) and how it affected odds
    • Objective data and how it affected odds

v2.4.0

15 Nov 18:42
3b47622
Compare
Choose a tag to compare

New Features / Changes

  • Added PlayerHurt.HealthDamageTaken - HealthDamage excluding over-damage (#247 - thanks @Julien2313)
  • Added PlayerHurt.ArmorDamageTaken - ArmorDamage excluding over-damage (#247)
  • Added Player.Color() - returns the players color during the match (#248 / #250 - thanks @Julien2313)
  • Added Player.IsDuckingInProgress() - returns true if the player is currently in the progress of going from standing to crouched (#241 / #249)
  • Added Player.IsUnDuckingInProgress() - returns true if the player is currently in the progress of going from crouched to standing (#241 / #249)
  • Added Player.IsStanding() - returns true if the player is currently fully standing upright (#241 / #249)

Fixes

  • Fixed Player.IsDucking() reporting wrong values

v2.3.0

14 Jul 23:53
2a0d19c
Compare
Choose a tag to compare

New Features / Changes

  • Implemented full support for locally recorded (POV) demos (#2)
    Replays recorded via CS:GO's record command rather than the game server (GOTV) are now fully supported

v1.11.0

07 Jun 15:22
2363e81
Compare
Choose a tag to compare

Please upgrade to v2.x

This is just a bugfix release, please upgrade to v2.x if you have the chance. As of the time of this release, the newest version is v2.2.0

Fixes

  • Added Parser.Close() to fix a memory leak due to an unterminated goroutine (#216)
    please make sure that this function is called before the parser is discarded,
    for instance by calling defer parser.Close() after demoinfocs.NewParser()

v2.2.0

02 Jun 11:04
1cc4fa0
Compare
Choose a tag to compare

New Features / Changes

  • Updated Protobuf descriptors (#215)

Fixes

  • Added Parser.Close() to fix a memory leak due to an unterminated goroutine (#216)
    please make sure that this function is called before the parser is discarded,
    for instance by calling defer parser.Close() after demoinfocs.NewParser()

v2.1.0

17 May 11:32
6df859c
Compare
Choose a tag to compare

New Features / Changes

  • Added Player.ResourceEntity() to expose the player's CCSPlayerResource entity

v2.0.1

15 May 21:56
f2b59fb
Compare
Choose a tag to compare

Fixes

  • Avoid panics in godispatch potentially stopping the whole application
    Instead, Parser.ParseToEnd() will return an error containing the whole stack trace.

v2.0.0

08 May 11:08
c27cf26
Compare
Choose a tag to compare

Doc Links

The new docs are hosted on the fabulous new go.dev page.

Package docs: https://pkg.go.dev/mod/github.com/markus-wa/demoinfocs-golang/[email protected]
API docs: https://pkg.go.dev/github.com/markus-wa/demoinfocs-golang/[email protected]/pkg/demoinfocs?tab=doc

Go Get

Watch out, there's a new module path for go get and import!

go get -u github.com/markus-wa/demoinfocs-golang/v2/pkg/demoinfocs

Upgrading from v1.x

If you are currently using version 1.x of this library, check out this wiki page for an upgrade guide.

Breaking Changes

  • Import path base has changed from github.com/markus-wa/demoinfocs-golang to github.com/markus-wa/demoinfocs-golang/v2/pkg/demoinfocs
  • Replaced main public structs with interfaces (Parser, GameState, Participants, Entity, Property)
    • These interfaces already existed before but used to be prefixed with I (e.g. IParser)
  • Replaced many struct fields in package common with getter funcs
  • Replaced Player.AdditionalPlayerInfo.XXX with getter funcs on the Player struct
  • Removed or replaced all previously deprecated methods, fields and events
  • Renamed field EquipmentElement.Weapon to EquipmentElement.Type
  • Renamed field Player.RawWeapons to Player.Inventory
  • Renamed field Player.SteamID to Player.SteamID64
  • Renamed func Entity.PropertiesI() to Entity.Properties()
  • Renamed func Entity.FindPropertyI() to Entity.Property()
  • Removed redundant funcs common.EquipmentElementNames() and common.GamePhaseNames()
    EquipmentType.String() and GamePhase.String() will achieve the same result.
  • Removed obsolete func ItemPickup.WeaponTraceable()
    ItemPickup.Weapon should now be identical (see #119)
  • Removed Item{Pickup,Drop,Equip}.WeaponPtr
  • Removed func Entity.BindPosition()
  • Changed type of Item{Pickup,Drop,Equip}.Weapon from Equipment struct to pointer of the same type
  • Changed type of Equipment.ZoomLevel from int to ZoomLevel
  • Changed receiver types of DemoHeader, TeamState, Equipment, GrenadeProjectile and Inferno funcs from struct to pointer

New Features / Changes

  • Added Bomb-Damage detection. PlayerHurt.Weapon.Type and Kill.Weapon.Type will now be EqBomb
  • Added Fall-Damage detection. PlayerHurt.Weapon.Type and Kill.Weapon.Type will now be EqWorld
  • Added field RankUpdate.Player (may be nil if the player has already disconnected)
  • Added utility function Player.SteamID32() which converts SteamID64 to the 32-bit variant and returns the result
  • Added utility function RankUpdate.SteamID64() which converts SteamID32 to the 64-bit variant and returns the result
  • Added utility functions common.ConvertSteamID{TxtTo32,32To64,64To32}()
  • Added constants common.Zoom{None,Half,Full}
  • Updated protobuf code (re-generated with new protoc version)

v2.0.0-beta.11

06 May 16:50
4c3c927
Compare
Choose a tag to compare
v2.0.0-beta.11 Pre-release
Pre-release

Doc Links

The new docs are hosted on the fabulous new go.dev page.

Package docs: https://pkg.go.dev/mod/github.com/markus-wa/demoinfocs-golang/[email protected]
API docs: https://pkg.go.dev/github.com/markus-wa/demoinfocs-golang/[email protected]/pkg/demoinfocs?tab=doc

Go Get

Watch out, there's a new module path for go get and import!

go get -u github.com/markus-wa/demoinfocs-golang/v2/pkg/demoinfocs

Breaking Changes

  • See v2.0.0-beta.10 for more breaking changes since v1.x
  • Changed receiver types of DemoHeader, TeamState, Equipment, GrenadeProjectile and Inferno funcs from struct to pointer

v2.0.0-beta.10

19 Apr 13:12
fb96d60
Compare
Choose a tag to compare
v2.0.0-beta.10 Pre-release
Pre-release

Doc Links

The new docs are hosted on the fabulous new go.dev page.

Package docs: https://pkg.go.dev/mod/github.com/markus-wa/demoinfocs-golang/[email protected]
API docs: https://pkg.go.dev/github.com/markus-wa/demoinfocs-golang/[email protected]/pkg/demoinfocs?tab=doc

Go Get

Watch out, there's a new module path for go get and import!

go get -u github.com/markus-wa/demoinfocs-golang/v2/pkg/demoinfocs

Breaking Changes

  • See v2.0.0-beta.9 for more breaking changes since v1.x
  • Removed func Entity.BindPosition()
  • Removed func PropertyValue.Float64Val()
  • Changed type of common.Zoom{None,Half,Full} from int to ZoomLevel

Fixes

  • Fixed issue where Entity.Property() was not returning nil if the property wasn't found
  • Fixed nil-pointer de-reference error when trying to retrieve player data when there is no Player.Entity