diff options
| author | nokoe <nokoe@mailbox.org> | 2025-10-09 23:50:01 +0200 |
|---|---|---|
| committer | nokoe <nokoe@mailbox.org> | 2025-10-09 23:50:55 +0200 |
| commit | 5879059a6757d471218eac3508ba3d28fcce8604 (patch) | |
| tree | 33979305fc773bf1a3c5707bfd18a8434d44405e /client/system | |
| parent | 0dc7bc9f3cf8088b670d5444fc4e0ce58a7ec1cc (diff) | |
| download | hurrycurry-5879059a6757d471218eac3508ba3d28fcce8604.tar hurrycurry-5879059a6757d471218eac3508ba3d28fcce8604.tar.bz2 hurrycurry-5879059a6757d471218eac3508ba3d28fcce8604.tar.zst | |
add book
Diffstat (limited to 'client/system')
| -rw-r--r-- | client/system/render_tool.gd | 34 | ||||
| -rw-r--r-- | client/system/render_tool.tscn | 38 |
2 files changed, 9 insertions, 63 deletions
diff --git a/client/system/render_tool.gd b/client/system/render_tool.gd index f2e05bff..f8695669 100644 --- a/client/system/render_tool.gd +++ b/client/system/render_tool.gd @@ -15,26 +15,17 @@ # extends Menu -enum Mode { - ITEMS, - TILES -} - -@onready var camera = $SubViewportContainer/SubViewport/Node3D/Camera3D -@onready var base = $SubViewportContainer/SubViewport/Node3D - -var current_object: Node3D = null -var mode: Mode +@onready var renderer = $Renderer func _ready(): super() var input_file: String if Cli.opts.has("render-items"): - mode = Mode.ITEMS + renderer.mode = renderer.Mode.ITEMS input_file = Cli.opts["render-items"] elif Cli.opts.has("render-tiles"): - mode = Mode.TILES + renderer.mode = renderer.Mode.TILES input_file = Cli.opts["render-tiles"] else: push_error("cannot open render_tool menu without corresponding cli options") @@ -43,25 +34,12 @@ func _ready(): var file = FileAccess.open(input_file, FileAccess.READ) var object_name_list = file.get_as_text().strip_edges().split("\n") var resolution = Vector2i.ONE * int(Cli.opts.get("render-resolution", "256")) - $SubViewportContainer/SubViewport.size = resolution + $Renderer/SubViewport.size = resolution for object_name in object_name_list: - setup_object(object_name) + renderer.setup_object(object_name) await RenderingServer.frame_post_draw var path = Cli.opts.get("render-output", ".").path_join(object_name + ".png") - $SubViewportContainer/SubViewport.get_texture().get_image().save_png(path) + $Renderer/SubViewport.get_texture().get_image().save_png(path) exit() - -func setup_object(object_name: String): - if current_object: current_object.queue_free() - match mode: - Mode.ITEMS: - current_object = ItemFactory.produce(object_name, base) - Mode.TILES: - var tf = TileFactory.new() - current_object = tf.produce(object_name, Vector2i(0, 0), ["counter", "floor", "counter", null]) - current_object.rotation_degrees.y = 45. - current_object.translate(Vector3(-0.5, 0.0, -0.5)) - camera.size = 2. - base.add_child(current_object) diff --git a/client/system/render_tool.tscn b/client/system/render_tool.tscn index 5a1a208f..6efcea39 100644 --- a/client/system/render_tool.tscn +++ b/client/system/render_tool.tscn @@ -1,14 +1,7 @@ -[gd_scene load_steps=4 format=3 uid="uid://xppn2tnr0hcx"] +[gd_scene load_steps=3 format=3 uid="uid://xppn2tnr0hcx"] [ext_resource type="Script" uid="uid://byw3ney1w3bww" path="res://system/render_tool.gd" id="1_gmn7h"] - -[sub_resource type="BoxMesh" id="BoxMesh_pcjn7"] - -[sub_resource type="Environment" id="Environment_vdkpo"] -background_mode = 1 -background_color = Color(0, 0, 0, 0) -ambient_light_source = 2 -ambient_light_color = Color(1, 1, 1, 1) +[ext_resource type="PackedScene" uid="uid://hdgsa0yfhnfw" path="res://gui/components/message/renderer.tscn" id="2_6bhk5"] [node name="ItemExport" type="Control"] layout_mode = 3 @@ -19,30 +12,5 @@ grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_gmn7h") -[node name="SubViewportContainer" type="SubViewportContainer" parent="."] +[node name="Renderer" parent="." instance=ExtResource("2_6bhk5")] layout_mode = 0 -offset_right = 512.0 -offset_bottom = 512.0 - -[node name="SubViewport" type="SubViewport" parent="SubViewportContainer"] -transparent_bg = true -handle_input_locally = false -render_target_update_mode = 4 - -[node name="Node3D" type="Node3D" parent="SubViewportContainer/SubViewport"] - -[node name="DebugPlaceholder" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/Node3D"] -visible = false -mesh = SubResource("BoxMesh_pcjn7") -skeleton = NodePath("../../../..") - -[node name="WorldEnvironment" type="WorldEnvironment" parent="SubViewportContainer/SubViewport/Node3D"] -environment = SubResource("Environment_vdkpo") - -[node name="Camera3D" type="Camera3D" parent="SubViewportContainer/SubViewport/Node3D"] -transform = Transform3D(1, 0, 0, 0, 0.8660254, 0.5, 0, -0.5, 0.8660254, 0, 2, 3) -projection = 1 -far = 30.0 - -[node name="DirectionalLight3D" type="DirectionalLight3D" parent="SubViewportContainer/SubViewport/Node3D"] -transform = Transform3D(0.7071067, 0.49999997, -0.4999999, 0, 0.70710677, 0.7071067, 0.7071067, -0.49999997, 0.4999999, 0, 0, 0) |