-
Notifications
You must be signed in to change notification settings - Fork 95
v1.0.0 Roadmap (archived)
v1.0.0 has finally been released! 🎉
Development will continue mostly unchanged, the only difference being guaranteed backwards compatibility for the foreseeable future.
This page lists all plans and changes for the initial v1 release of the demoinfocs-golang library.
See the v1.0.0 branch for all progress so far.
The current ETA is early 2019. The main reason for this is that go's complete support for vgo is scheduled for go 1.12, which is due at the end of January 2019.
The reason for waiting for vgo is that it's not sure if it would be possible to switch from dep to vgo without a v2.0.0. In fact, it's highly doubtful.
From the vgo proposal:
- Disallow use of vendor directories, except in one limited use: a vendor directory at the top of the file tree of the top-level module being built is still applied to the build, to continue to allow self-contained application repositories. (Ignoring other vendor directories ensures that Go returns to builds in which each import path has the same meaning throughout the build and establishes that only one copy of a package with a given import path is used in a given build.)
Also the library would potentially become non go-gettable if we were to stay with dep.
In a later release (say, Go 1.13), we will end support for go get of non-modules. Support for working in GOPATH will continue indefinitely.
- Cleaned up type names in
events
package (removed stuttery 'Event' suffixes etc.) - Migrated from dep to Go Modules as dependency management system (#61)
- Changed return type of
Parser.GameState()
fromGameState
toIGameState
(#66) - Changed return type of
GameState.Participants()
fromParticipants
toIParticipants
(#66) - Renamed
GameState.{T,CT}State()
functions toTeam{Terrorists,CounterTerrorists}()
so the functions are nicely ordered when sorted alphabetically - Moved player information to
GameState.Participants().{All(),Playing(),TeamMembers(),ByUserID(),ByEntityID,FindByHandle()}
- Moved
Parser.Entities()
toGameState.Entities()
- Replaced beta feature
Parser.SendTableParser()
withParser.ServerClasses()
(ServerClasses is fully supported for the future) - Refactored package
sendtables
- mostly internal changes and some minimally renamed types & functions - Moved type
TeamState
to packagecommon
- Moved
RoundEndReason
,RoundMVPReason
&HitGroup
types & constants toevents
package - Changed type of
DemoHeader.PlaybackTime
fromfloat32
totime.Duration
- Changed return type of
DemoHeader.FrameTime()
,DemoHeader.TickTime()
&Parser.CurrentTime()
fromfloat32
totime.Duration
- Changed return type of
DemoHeader.FrameRate()
&DemoHeader.TickRate()
fromfloat32
tofloat64
- Removed
ParserConfig.AdditionalEventEmitters
and packagefuzzy
since there are now good team/side-switching events (#21). - Fixed typo in
events.RoundOfficiallyEndedEvent
(Officialy -> Officially)
- Mockable API (#66 - thanks @micvbang)
- Tracking of infernos (Molotovs & Incendiary fires) in
GameState.Infernos()
- Added
GameState.Bomb()
to retrieve information about the bomb (#41 - thanks @micvbang) - Added
metadata
package which currently contains translations between the game's world-coordinates and map-overview images. (#37 - thanks @micvbang) - Added
GrenadeProjectile.Trajectory
- contains the trajectory of a grenade (list of positions) up until the current moment - Added
NadeProjectileDestroyed
event - useful to get the final trajectory of aGrenadeProjectile
- Added events
TeamSideSwitch
,GameHalfEnd
&GamePhaseChanged
(#62 - thanks @micvbang) - Added
GameState.IsWarmupPeriod()
,GameState.MatchStarted()
and eventsIsWarmupPeriodChanged
&MatchStartedChanged
(#63 & #64) - Added
ScoreUpdated
event and movedTeamState
to packagecommon
(#55 - thanks @micvbang) - Added
Equipment.ZoomLevel
field to indicate how zoomed-in the player is on his weapon (#60 - thanks @micvbang) - Added
Entity.OnPositionUpdate()
- helper function for position updates - Added
Entity.BindPosition()
- helper function for binding the position of an entity to a pointer - Automatic parsing of header if not done manually - this means
Parser.ParseHeader()
no longer needs to be called if the header is not needed. - Added examples for using unhandled entity-data, WebAssembly and mocking
- Fixed some implementations of
io.Reader
not working as demo sources (when the reader returns less than the requested number of bytes before EOF). - Improvements to the godoc
events.DataTablesParsedEvent
events.ParserWarnEvent
Parser.RegisterNetMessageHandler()
- Further documentation improvements: https://github.com/markus-wa/demoinfocs-golang/issues/1
- Tracking dropped weapons - possibly in a later 1.x release