Releases: markus-wa/demoinfocs-golang
v0.5.5
v1.0.0-beta.2
Additions
- Tracking of infernos (Molotovs & Incendiary fires) in
GameState.Infernos() - Package
metadata- currently contains translations between the game's world-coordinates and map-overview images. (#37 - thanks @micvbang) - Field
GrenadeProjectile.Trajectory- contains the trajectory of a grenade (list of positions) - Event
NadeProjectileDestroyedEvent- useful to get the final trajectory of aGrenadeProjectile - Function
Entity.OnPositionUpdate()- helper function for position updates - Function
Entity.BindPosition()- helper function for binding the position of an entity to a pointer
Roadmap
See https://github.com/markus-wa/demoinfocs-golang/wiki/v1.0.0-Roadmap
v1.0.0-beta.1
API Breaking Changes
- Moved player information from
GameState.{[Playing]Participants(),TeamMembers()}toGameState.Participants().{All(),Playing(),TeamMembers(),ByUserID(),ByEntityID(),FindByHandle()}
Additions
- Added
Entity.ServerClass()back, in case we don't know what kind of entity we're dealing with - Added example for using unhandled entity-data
Roadmap
See https://github.com/markus-wa/demoinfocs-golang/wiki/v1.0.0-Roadmap
v1.0.0-beta.0
v1.0.0 Beta
After a long time the API is finally stable enough so we can comfortably go towards guaranteeing backwards compatibility for the foreseeable future.
The plan for releasing v1.0.0 is to have beta versions out for a while (1-2 months) without seeing a need for any breaking changes, then we should be ready to move forward.
This version aimed to clean up the mess that was sendtables as well as some other issues (see #16). The new API should be more future-proof and expose less of the code that is only used internally.
API Breaking Changes
- Renamed
GameState.{T,CT}State()functions toTeam{Terrorists,CounterTerrorists}()so the functions are nicely ordered when sorted alphabetically - Moved
Parser.Entities()toGameState.Entities() - Replaced beta feature
Parser.SendTableParser()withParser.ServerClasses()(ServerClasses is fully supported for the future) - Refactored package
sendtables - Moved
RoundEndReason,RoundMVPReason&HitGrouptypes & constants toeventspackage - Fixed typo in
events.RoundOfficiallyEndedEvent(Officialy -> Officially)
Changes
- Improvements to the godoc
Features that were moved from beta status to fully supported
events.DataTablesParsedEventevents.ParserWarnEventParser.RegisterNetMessageHandler()
Roadmap
See https://github.com/markus-wa/demoinfocs-golang/wiki/v1.0.0-Roadmap
v0.5.4
Additions
- Added
GameState.GrenadeProjectiles(), contains currently 'live' grenades i.e. flying around and smokes/mollies that are currently up. (#27 thanks @micvbang) - Added
NadeProjectileThrownEvent, signals that a nade (projectile) has just been thrown - Added
NadeProjectileBouncedEvent, signals that a nade just bounced off a wall or object - Added
NadeEventIf.Base()to get the underlyingNadeEvent - Added
Entity.Position()helper function to get entity positions - Added
Entity.OnCreateFinished()&Entity.OnDestroy()for registering post-creation & pre-deletion actions respectively - Added
Entity.BindProperty()&PropertyEntry.Bind()utility functions for binding a property's value to a pointer
Changes
- Replaced unused
Player.Weaponsfield withPlayer.Weapons()method (#31) - Deprecated
PropertyEntry.RegisterPropertyUpdateHandler(), addedPropertyEntry.OnUpdate()- they are identical butOnUpdateis shorter & easier to understand.
Fixes
v0.5.3
Changes
- Added
PropertyEntry.Value()to allow access to property values (#26 thanks @zyphie) - Added
Parser.Entities()to exposeParser.entities(#22 thanks @zyphie) - Added
NadeEvent.NadeEntity(#22) - Removed unnecessary property updates for baseline values (#24)
Fixes
- Fixed wrong Z coordinate for player positions (#28 thanks @micvbang)
- Fixed wrong property values on entities (#25)
Deprecation Notices
- Type
sendtables.PropValuemight be renamed toPropertyValueor similar in the future. - Type
sendtables.FlattenedPropEntrymight be renamed toPropertyEntryMetadataor similar in the future.
v0.5.2
v0.5.1
v0.5.0
API Breaking Changes
- Removed
warnHandlerparameter fromNewParser(), replaced the old warning system withParserWarnEvent - Replaced
NewParserWithBufferSize()withNewParserWithConfig()to allow for changes in the future without breaking the API
New Features
- Added
events.GenericGameEventwhich 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 toParserConfig.AdditionalNetMessageCreators. 1 - Added
ParserConfig.AdditionalEventEmitterswhich can be used to enable fuzzy logic from thefuzzypackage. 1
Currently there is only oneEventEmitterimplementation which emitsfuzzy.TeamSwitchEvents for Valve MM demos. More will be added if this feature proves to be of use.
- Beta feature - this feature is subject to change / replacement without warning.
v0.4.0
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()}toDemoHeader.*(Accessible viaParser.Header())
Changes
- Exposed access to DataTables (a.k.a. SendTables) via
Parser.SendTableParser()1 - Added
StringTableCreatedEvent1 - Print out demo-commands when debugging
Fixes
- Fixed
UpdateStringTablemessages not being handled correctly - Fixed
unassignedplayers becoming CTs (Players who haven't chosen a side yet / some spectators)
- Beta feature - this feature is subject to change / replacement without warning.