Skip to content

Add optional volleyball set matches - #170

Open
mrTyom wants to merge 1 commit into
danielknobe:masterfrom
mrTyom:agent/add-volleyball-set-matches
Open

Add optional volleyball set matches#170
mrTyom wants to merge 1 commit into
danielknobe:masterfrom
mrTyom:agent/add-volleyball-set-matches

Conversation

@mrTyom

@mrTyom mrTyom commented Aug 5, 2026

Copy link
Copy Markdown

What changed

  • add an optional Play sets toggle for local games, disabled by default
  • add a modern_volley rules entry with rally scoring and a two-point winning margin
  • play best-of-five matches, using 25 points for modern sets and 15 for the deciding fifth set
  • use 15-point sets for the existing standard and classic rules
  • track set wins, alternate the first-serving player, and switch players between courts after each set
  • keep configured input profiles attached to the left and right courts when players switch
  • show set wins between each player's points and the match clock
  • disable replay saving for multi-set matches, whose format is not supported by the replay file
  • localize the new controls and set-transition messages

Impact

Existing local and network games retain their current behavior unless Play sets is enabled. Network play is unchanged. The existing classic rules remain the side-out scoring option; modern_volley supplies the modern rally-scoring format.

Validation

  • Release x64 build with CMake and vcpkg
  • existing and new Boost unit tests (blobbytest)
  • header self-containment target (test-compile-headers)
  • XML parsing for every language file and config.xml
  • verified packaged rules.zip contains classic.lua and modern_volley.lua

The new tests cover 25:23, continued play at 25:24, 26:24, the 15-point fifth set, 3:0/3:1/3:2 match results, optional set mode, alternating service, and court changes.

@mrTyom
mrTyom marked this pull request as ready for review August 5, 2026 19:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant