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
This commit is contained in:
2026-08-10 21:22:52 -05:00
parent 26dcfe0d1b
commit e3bdb21cd2
19 changed files with 234 additions and 62 deletions

View File

@@ -6,12 +6,12 @@ class_name Game extends Node3D
func _ready() -> void:
# TODO: Uncomment
#base_environment.game_music.stream = load("res://sounds/music/Lobo Loco - 04 (Mountain Bells22).mp3")
#base_environment.game_music.stream.loop = true
#base_environment.game_music.play()
base_environment.game_music.stream = load("res://sounds/music/Lobo Loco - 04 (Mountain Bells22).mp3")
base_environment.game_music.stream.loop = true
base_environment.game_music.play()
game_manager.set_mode(Globals.game_data.SelectedGameMode)
setup_signals()
setup_multiplayer()