aboutsummaryrefslogtreecommitdiff
path: root/client/map/tiles/exterior_tree.gd
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-07-18 15:42:19 +0200
committermetamuffin <metamuffin@disroot.org>2024-07-18 15:42:19 +0200
commit403d415fba9a88eaef12e3ab0485d8243d07097f (patch)
tree42b23e8901bf24fb98a975b034f13f5a3dce85ac /client/map/tiles/exterior_tree.gd
parent5f883c80e7fc63c97910d003c44aea814ab8a5d6 (diff)
parent3ee6176f65d29b9b6fb5d3434c15220e0bbe0d8d (diff)
downloadhurrycurry-403d415fba9a88eaef12e3ab0485d8243d07097f.tar
hurrycurry-403d415fba9a88eaef12e3ab0485d8243d07097f.tar.bz2
hurrycurry-403d415fba9a88eaef12e3ab0485d8243d07097f.tar.zst
Merge branch 'master' of https://codeberg.org/hurrycurry/hurrycurry
Diffstat (limited to 'client/map/tiles/exterior_tree.gd')
-rw-r--r--client/map/tiles/exterior_tree.gd25
1 files changed, 23 insertions, 2 deletions
diff --git a/client/map/tiles/exterior_tree.gd b/client/map/tiles/exterior_tree.gd
index 41e35693..edc08df3 100644
--- a/client/map/tiles/exterior_tree.gd
+++ b/client/map/tiles/exterior_tree.gd
@@ -16,9 +16,30 @@
class_name ExteriorTree
extends Grass
+const SCALE: Vector3 = Vector3(100., 100., 100.)
+const ROT: Vector3 = Vector3(1.5 * PI, 0., 0.)
+
func _init(rename: String, _neighbors: Array):
super(rename, _neighbors)
var random = RandomNumberGenerator.new()
random.seed = rename.hash()
- var path = "res://map/tiles/tree_%s.tscn" % random.randi_range(1,5)
- base.add_child(load(path).instantiate())
+ var tree: int = random.randi_range(1,5)
+ var trunk: Mesh = load("res://map/tiles/tree/trunk_%d.res" % tree)
+ var leaves: Mesh = load("res://map/tiles/tree/leaves_%d_%s.res" % [
+ tree,
+ "lq" if Global.get_setting("lq_trees") else "hq"
+ ])
+ var trunk_instance: MeshInstance3D = MeshInstance3D.new()
+ trunk_instance.mesh = trunk
+ trunk_instance.scale = SCALE
+ trunk_instance.rotation = ROT
+ var leaves_instance: MeshInstance3D = MeshInstance3D.new()
+ leaves_instance.mesh = leaves
+ leaves_instance.scale = SCALE
+ leaves_instance.rotation = ROT
+ var tree_node: Node3D = Node3D.new()
+
+ tree_node.add_child(trunk_instance)
+ tree_node.add_child(leaves_instance)
+ tree_node.name = "Tree"
+ base.add_child(tree_node)