Skip to content

Releases: gschup/ggrs

v0.10.2

23 Apr 15:29
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.10.1...v0.10.2

v0.10.1

27 Feb 07:06
Compare
Choose a tag to compare

What's Changed

  • Report which frames checksums failed for in synctest sessions by @johanhelsing in #66

Full Changelog: v0.10.0...v0.10.1

v0.10.0

10 Nov 09:09
Compare
Choose a tag to compare

Changelog

  • Rename types with GGRS prefix to match rust naming conventions
  • Removed deprecated GgrsError variants
  • GameStateCell now implements debug.
  • fixed a bug where checksums of unconfirmed frames were compared during desync detection.
  • You can now trigger a desync manually in the example game by pressing SPACE.

v0.9.4

30 Mar 07:39
Compare
Choose a tag to compare

Changelog

  • SessionBuilder now implements debug. This requires Config::Address to have Debug
  • Optional desync detection for p2p sessions. This feature can be used by using with_desync_detection_mode in the SessionBuilder.

v0.9.3

10 Jan 11:56
Compare
Choose a tag to compare

Changelog

  • added support for fieldless enums in PlayerInput

v0.9.2

17 Aug 13:07
Compare
Choose a tag to compare

Changelog:

  • fixed a bug where sync would not work with RTT higher than SYNC_RETRY_INTERVAL

v0.9.1

21 Feb 10:23
Compare
Choose a tag to compare

Changelog:

  • fixed multiple local players, added example documentation for it
  • fixed save and advance request ordering during a rollback in P2PSessions

v0.9.0

13 Feb 21:08
Compare
Choose a tag to compare

Changelog:

  • removed GameState from the public API.
  • removed PlayerInput from the public API. AdvanceFrame requests will now hand over a tuple with the InputStatus and status of that input
  • added InputStatus enum to distinguish the status of given inputs
  • users now have to call add_local_input(..) for every local player before calling advance_frame()
  • enabled multiple players per endpoint
  • sessions are now constructed through a unified SessionBuilder
  • overhauled all generics
  • provided inputs are now generic. The user has to only supply a POD struct instead of serialized input
  • added a Config trait with types to bundle all generic options
  • renamed GameInput to PlayerInput
  • the user now has to explicitly create a socket themselves before creating a session

v0.8.0

17 Jan 09:16
Compare
Choose a tag to compare

Changelog:

  • GameState now is a generic GameState<T: Clone = Vec<u8>>, so serialization of game state to save and load is no longer required
  • trait NonBlockingSocket now is a generic NonBlockingSocket<A>, where A generalizes the address that the socket uses to send a packet.

v0.7.2

12 Jan 08:14
Compare
Choose a tag to compare

Changelog:

  • massively improved performance by improving input packet handling