diff options
| author | metamuffin <metamuffin@disroot.org> | 2025-06-06 18:47:51 +0200 | 
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2025-06-06 18:48:32 +0200 | 
| commit | 90bc0f0a870bb071da3390cf299f999e0073d12f (patch) | |
| tree | 2cdbb9359fe39281a894d64af5a1df8a1df63edb /client | |
| parent | 215650b4cbe242cedb19ab3d096e47c653563263 (diff) | |
| download | hurrycurry-90bc0f0a870bb071da3390cf299f999e0073d12f.tar hurrycurry-90bc0f0a870bb071da3390cf299f999e0073d12f.tar.bz2 hurrycurry-90bc0f0a870bb071da3390cf299f999e0073d12f.tar.zst | |
fix a few logic bugs in spectate_center
Diffstat (limited to 'client')
| -rw-r--r-- | client/game.gd | 19 | 
1 files changed, 10 insertions, 9 deletions
| diff --git a/client/game.gd b/client/game.gd index 849f970b..aff4d984 100644 --- a/client/game.gd +++ b/client/game.gd @@ -409,21 +409,22 @@ func update_center():  			spectate_free()  func spectate_center(): -	var no_chefs = true +	var any_chefs = false  	for v in players.values(): -		no_chefs = no_chefs or v.is_chef +		any_chefs = any_chefs or v.is_chef +	var no_chefs = not any_chefs  	var sum: int = 0  	var center: Vector3 = Vector3(0.,0.,0.) -	for v in players.values(): -		var p: Player = v -		sum += 1 -		center += p.movement_base.position +	for p in players.values(): +		if p.is_chef or no_chefs: +			sum += 1 +			center += p.movement_base.position  	var bmin = Vector2.INF  	var bmax = -Vector2.INF  	for p in players.values(): -		if !p.is_customer or no_chefs: +		if p.is_chef or no_chefs:  			bmin.x = min(bmin.x, p.movement_base.position.x)  			bmin.y = min(bmin.y, p.movement_base.position.z)  			bmax.x = max(bmax.x, p.movement_base.position.x) @@ -432,10 +433,10 @@ func spectate_center():  	if sum > 0:  		$Center.position = center / sum -		$FollowCamera.camera_distance_target = max(extent * 2, 5) +		$FollowCamera.camera_distance_target = max(extent * 2, 8)  	elif sum > 0:  		$Center.position = center / sum -		$FollowCamera.camera_distance_target = max(extent * 2, 5) +		$FollowCamera.camera_distance_target = max(extent * 2, 8)  	else:  		var extents = map.extents()  		var map_center = ((extents[0] + extents[1]) / 2) + Vector2(.5, .5) | 
