From 508799552b7f10f99256e325f56ef437455a137f Mon Sep 17 00:00:00 2001 From: yuki Date: Tue, 25 Nov 2025 17:11:31 -0300 Subject: [PATCH] add palette to room config --- scenes/room/room.tscn | 8 ++++---- scenes/room/room_config.gd | 2 ++ scenes/room/states/room_entering.gd | 4 ++++ scenes/worlds/yukotsukis_room/yukotsukis_room.tscn | 6 +++++- scenes/worlds/yukotsukis_room/yukotsukis_room_config.tres | 4 +++- 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/scenes/room/room.tscn b/scenes/room/room.tscn index a5e73a3..9e8e855 100644 --- a/scenes/room/room.tscn +++ b/scenes/room/room.tscn @@ -32,6 +32,10 @@ grow_vertical = 2 [node name="CanvasModulate" type="CanvasModulate" parent="."] visible = false +[node name="RoomCamera" type="Camera2D" parent="."] +editor_draw_screen = false +script = ExtResource("3_y1kpu") + [node name="RoomDirector" type="Node" parent="." node_paths=PackedStringArray("initial_state")] process_mode = 3 script = ExtResource("4_vaubn") @@ -53,7 +57,3 @@ metadata/_custom_type_script = "uid://hjm43hb4os07" [node name="Exiting" type="Node" parent="RoomDirector"] script = ExtResource("6_7jj40") metadata/_custom_type_script = "uid://hjm43hb4os07" - -[node name="RoomCamera" type="Camera2D" parent="."] -editor_draw_screen = false -script = ExtResource("3_y1kpu") diff --git a/scenes/room/room_config.gd b/scenes/room/room_config.gd index 0abbaae..4c62545 100644 --- a/scenes/room/room_config.gd +++ b/scenes/room/room_config.gd @@ -20,6 +20,8 @@ class_name RoomConfig extends Resource @export var enable_canvas_modulate: bool = false ## Color of the canvas modulate. @export var modulate_color: Color +## Color palette for the room. +@export var room_palette: Texture2D @export_group('Room Loop') ## Whether the room loops itself or not. diff --git a/scenes/room/states/room_entering.gd b/scenes/room/states/room_entering.gd index 5133a72..cddd5b1 100644 --- a/scenes/room/states/room_entering.gd +++ b/scenes/room/states/room_entering.gd @@ -12,6 +12,10 @@ func _enter(_previous_state_path: String, _data: Dictionary = {}) -> void: assert(room.player != null, "player is null") room.camera.global_position = room.config.camera_position + var ps_material: ShaderMaterial = room.palette_shader.material as ShaderMaterial + assert(ps_material != null, "palette shader is null") + ps_material.set_shader_parameter("palette", room.config.room_palette) + room.player.enable_point_light(true, 0.4) room.player.point_light.texture_scale = 0 diff --git a/scenes/worlds/yukotsukis_room/yukotsukis_room.tscn b/scenes/worlds/yukotsukis_room/yukotsukis_room.tscn index 20888e8..b0e2344 100644 --- a/scenes/worlds/yukotsukis_room/yukotsukis_room.tscn +++ b/scenes/worlds/yukotsukis_room/yukotsukis_room.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=5 format=4 uid="uid://04d4byo43t4b"] +[gd_scene load_steps=6 format=4 uid="uid://04d4byo43t4b"] [ext_resource type="PackedScene" uid="uid://bxhyxox662buj" path="res://scenes/room/room.tscn" id="1_1k8b4"] [ext_resource type="Resource" uid="uid://h54yiuv2bup1" path="res://scenes/worlds/yukotsukis_room/yukotsukis_room_config.tres" id="2_vqekq"] [ext_resource type="TileSet" uid="uid://chb3vsmojvo8q" path="res://scenes/worlds/yukotsukis_room/assets/curtains/curtains_godot4.tres" id="3_od2gb"] [ext_resource type="TileSet" uid="uid://diqyujsetlsp6" path="res://scenes/worlds/yukotsukis_room/assets/floorboards/floorboards_godot4.tres" id="4_od2gb"] +[ext_resource type="PackedScene" uid="uid://brkv032w3gyfo" path="res://scenes/bed/bed.tscn" id="5_vqekq"] [node name="Yukotsuki\'s Room" instance=ExtResource("1_1k8b4")] config = ExtResource("2_vqekq") @@ -22,3 +23,6 @@ tile_set = ExtResource("4_od2gb") [node name="CurtainLayer" type="TileMapLayer" parent="." index="6"] tile_set = ExtResource("3_od2gb") + +[node name="Bed" parent="." index="8" instance=ExtResource("5_vqekq")] +position = Vector2(216, 208) diff --git a/scenes/worlds/yukotsukis_room/yukotsukis_room_config.tres b/scenes/worlds/yukotsukis_room/yukotsukis_room_config.tres index 3aa8781..70e666a 100644 --- a/scenes/worlds/yukotsukis_room/yukotsukis_room_config.tres +++ b/scenes/worlds/yukotsukis_room/yukotsukis_room_config.tres @@ -1,6 +1,7 @@ -[gd_resource type="Resource" script_class="RoomConfig" load_steps=2 format=3 uid="uid://h54yiuv2bup1"] +[gd_resource type="Resource" script_class="RoomConfig" load_steps=3 format=3 uid="uid://h54yiuv2bup1"] [ext_resource type="Script" uid="uid://bamoq5wi0lkdy" path="res://scenes/room/room_config.gd" id="1_vlksg"] +[ext_resource type="Texture2D" uid="uid://bos6f0a87dyno" path="res://assets/palettes/lospec500-42.png" id="1_yx5vs"] [resource] script = ExtResource("1_vlksg") @@ -9,4 +10,5 @@ point_light_energy = 0.4 follow_player = false camera_position = Vector2i(160, 120) modulate_color = Color(0.35156274, 0.35156295, 0.35156283, 1) +room_palette = ExtResource("1_yx5vs") metadata/_custom_type_script = "uid://bamoq5wi0lkdy"