6 Commits

Author SHA1 Message Date
409680b94a major refactor(game-modes): centralize scoring and turn handling
* Move common ball recording, scoring, and turn-switching logic into `BaseMode`
* Add hooks for mode-specific ball handling and turn behavior
* Simplify 8-ball and 9-ball modes to use `LastBallMode`
* Update Snooker to use the new ball-processing hooks
* Remove duplicated scoring and turn-management code
2026-08-13 00:16:09 -05:00
7be84d8591 Added some point processing, cleanup 2026-08-12 22:36:45 -05:00
c95cc511e6 feat(game): refactor ball state and turn handling
* Replace `valid_end` with `is_foul` for invalid ball sinks
* Rename and centralize ball state tracking
* Add ball finalization and win-condition hooks
* Update turn switching to retain the player after valid sinks
* Apply negative points to reaped balls
* Add active-player indicator to the camera UI
* Emit active-player updates when the turn changes
2026-08-12 22:14:03 -05:00
84b3600044 fix: refine game mode state tracking and turn handling
* Centralize ball state generation in `BaseMode`
* Track turn count, player, and ball state consistently
* Prevent 8-ball, 9-ball, and colored snooker balls from being marked valid when reaped/sunk
* Update mode initialization and ball-state assignment
* Normalize Free Ball mode node name to `freeball`
2026-08-11 23:59:30 -05:00
e3bdb21cd2 feat(game): add free ball mode and improve ball state handling
* add Free Ball game mode and lobby selection
* refactor base mode ball state tracking for reaped/sunk balls
* add player ownership tracking and colored-ball support
* add initial 9-ball mode implementation
* update 8-ball and snooker modes to use base ball handling
* replicate ball linear velocity for multiplayer synchronization
* improve ball collision sound propagation and physics settings
* reenable game music and initialize game signals
* improve lobby input focus and mode selection behavior
* adjust cue impulse origin and default game mode
2026-08-10 21:22:52 -05:00
f5d6c640ae push project up sabs assets 2026-08-07 02:50:54 -05:00