167 Commits over 821 Days - 0.01cph!
Added Pool Turn Time game setting
Added virtual methods to create cue and ball so rules can override them. Add PowerPoolBall stub class.
Only interact with GameServices if the rules dictate the game should be ranked (non-regular rules are not ranked)
Removed some old logs and ensure camera starts above the pool table
Initialize BaseGameRules based on the set pool_game_rules value
Load correct BaseGameRules class based on the pool_game_rules ConVar
Add Game Rules setting and add two choices for now: Regular and Power Pool. Power Pool coming soon(tm).
Fix pool by replacing pointer-events: visible with a viable alternative
Various pool fixes (sounds, side collisions, fast forward)
Revert bandaid for StartTouch bug so can be tested for fix
Adjust bounce threshold but I'm not convinced that it's working
Use Physics Substeps in Project Settings
Add "ball" tag to PoolBall entities and add debug log to TriggerBallPocket for StartTouch
Pain Day 3 (Ball physics no longer behaving correctly?!)
Add Display attributes to Pool entities
Merge branch 'master' of sbox-pool
Update .addon and rename PoolGame namespace to Facepunch.Pool
Added support for ball-hit-side sound
Fixed compile errors for pool
Merge branch 'master' of sbox-pool
Only update winner + loser incase there's spectators
Updated IsFastForwarding property to use network change callbacks. Fixed a bug where potting a ball would cause the game to freeze (RenderAlpha -> RenderColor.a)
Add [Predicted] to AimDir and ShotPower
Strip out unused rule voting system
Strip out unused rule voting system
Revert "Update vector usages"
This reverts commit 574545247ea82c3e9838f84e16d6a068d1bc0c96.
Updated pool to work with the latest core changes
Hide the Win Summary when the stats round is over
Fixed Win Summary Elo Calculations
Added skeleton Win Summary
Started working on a rule voting system ( WIP, looks ugly )
Show black ball in top when player is on the black, only play FF sound once per game because it is repetitive, hitting another ball after black won't foul if you're on the black
You don't get a 2nd shot if you foul first
Added an experimenting fast forward system to stop it taking so long for a turn to end - this might be annoying
Include the white ball when determining gasp
Some refactoring, added some sound effects, made the game speed up 3 seconds after taking a shot, added ticking clock sound for turn, and in some occasions the camera will zoom and the crowd will GASP if a ball might go in after a while
Everything goes red if you might hit the wrong ball
Fixed Authority error when moving white ball before Owner is properly replicated
Updated surface property of pool.ball to have reduced bounce threshold (woop) and load/save rating JSON
Fixed pot history not updating (this is only a temporary measure)
Added basic ELO ranking display support (saving to JSON is disabled for now)
Move common logic for whether owner is in play to a separate method
Fixed server accepting input from everyone
Removed "controllers" and the Cue handles its own fate now, properly predicted with Simulate and client effects (shot power line etc) updated in Tick for each client
Predict white ball placement as well and set owner directly to the pawn now that works
Let's try and make the cue predicted again for the player taking a turn
Merge branch 'main' of sbox-pool into main
Update NetworkList for Pool
Pool is a functional game again after Pain Day, fixed a bug where potting the white after the black would still result in a win
Use a single tick for both remote and local client this helps reduce the lerping effect of the cue