diff options
| author | metamuffin <metamuffin@disroot.org> | 2024-09-28 21:00:23 +0200 | 
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2024-09-28 21:00:29 +0200 | 
| commit | 033d928a1f8a3cdd791d00ac24a3e6d41163346e (patch) | |
| tree | 52329a531b9a9ae002e3805bc4d221a202f184e1 /client/menu | |
| parent | 5cd87fc5d570d584019a6d6dd8dc25b6e5f274a0 (diff) | |
| download | hurrycurry-033d928a1f8a3cdd791d00ac24a3e6d41163346e.tar hurrycurry-033d928a1f8a3cdd791d00ac24a3e6d41163346e.tar.bz2 hurrycurry-033d928a1f8a3cdd791d00ac24a3e6d41163346e.tar.zst | |
new tiles for menu background
Diffstat (limited to 'client/menu')
| -rw-r--r-- | client/menu/menu_background.gd | 32 | 
1 files changed, 23 insertions, 9 deletions
| diff --git a/client/menu/menu_background.gd b/client/menu/menu_background.gd index 33ec6e43..77fb123f 100644 --- a/client/menu/menu_background.gd +++ b/client/menu/menu_background.gd @@ -17,8 +17,8 @@  #  extends Node3D -const NULLS = [null,null,null,null] -const BUCKETS = [[], ["floor","floor","floor","floor","tomato-crate", "steak-crate"], ["table", "chair", "counter"], ["sink", "stove"]] +const CRATES = ["tomato-crate", "steak-crate", "cheese-crate", "lettuce-crate", "flour-crate", "coconut-crate"] +const TOOLS = ["sink", "cuttingboard", "stove", "oven", "freezer"]  @onready var environment: WorldEnvironment = $Environment  @onready var map: Map = $Map @@ -27,12 +27,26 @@ func _ready():  	if !Global.on_vulkan():  		environment.environment.tonemap_exposure = 0.25 -	for x in range(-10,11): -		for y in range(-10,11): -			var w = exp(-sqrt(x*x+y*y) * 0.15) +	var tiles = {} +	for x in range(-10, 11): +		for y in range(-10, 11): +			var w = exp(-sqrt(x * x + y * y) * 0.15)  			var k = randf() * w -			var bucket = BUCKETS[int(floor(k * BUCKETS.size())) % BUCKETS.size()] -			if bucket.size() == 0: continue -			var tile_name = bucket[randi() % bucket.size()] -			map.set_tile(Vector2i(x,y), tile_name) +			var tn = null +			if k > 0.25: tn = "floor" +			if k > 0.4: tn = choose(CRATES) if randf() > 0.3 else "counter" +			if k > 0.6: tn = choose(TOOLS) +			if tn != null: tiles[str(Vector2i(x,y))] = [tn,[x,y]] + +	var gt = func (cs): +		var t = tiles.get(str(Vector2i(cs[0],cs[1]))) +		return null if t == null else t[0] +	for pk in tiles.keys(): +		var x = tiles[pk][1][0] +		var y = tiles[pk][1][1] +		var t = gt.call([x,y]) +		if t != null: map.set_tile(Vector2i(x,y), t, [[x,y-1],[x-1,y],[x,y+1],[x+1,y]].map(gt)) +  	map.flush() + +func choose(a): return a[floor(a.size() * randf())] | 
