diff options
Diffstat (limited to 'client/map')
| -rw-r--r-- | client/map/map.gd | 25 | 
1 files changed, 15 insertions, 10 deletions
diff --git a/client/map/map.gd b/client/map/map.gd index e0fc091e..112ddbcc 100644 --- a/client/map/map.gd +++ b/client/map/map.gd @@ -68,20 +68,25 @@ func gi_bake():  	gi_bake_blocking()  func gi_bake_blocking(): -	var extent_min = Vector2(0,0) -	var extent_max = Vector2(0,0) -	for e in tile_by_pos.values(): -		extent_min.x = min(extent_min.x, e[0].x) - 0.5 -		extent_min.y = min(extent_min.y, e[0].y) - 0.5 -		extent_max.x = max(extent_max.x, e[0].x) + 0.5 -		extent_max.y = max(extent_max.y, e[0].y) + 0.5 - +	var map_extents = extents() +	var extent_min = map_extents[0] +	var extent_max = map_extents[1]  	var center = (extent_max + extent_min) / 2  	var size = extent_max - extent_min -	voxelgi.position = Vector3(center.x, 2, center.y) -	voxelgi.size = Vector3(size.x, 5., size.y) +	voxelgi.position = Vector3(center.x, 3., center.y) +	voxelgi.size = Vector3(size.x, 8., size.y)  	print("Baking now!")  	var start = Time.get_ticks_msec()  	voxelgi.bake()  	voxelgi.visible = true  	print("Bake done. elapsed=", Time.get_ticks_msec() - start) + +func extents() -> Array: +	var extent_min = Vector2(0,0) +	var extent_max = Vector2(0,0) +	for e in tile_by_pos.values(): +		extent_min.x = min(extent_min.x, e[0].x) +		extent_min.y = min(extent_min.y, e[0].y) +		extent_max.x = max(extent_max.x, e[0].x) +		extent_max.y = max(extent_max.y, e[0].y) +	return [extent_min, extent_max + Vector2(1., 1.)]  |