add palette to room config

This commit is contained in:
yuki 2025-11-25 17:11:31 -03:00
parent 0bab4c62cb
commit 508799552b
5 changed files with 18 additions and 6 deletions

View file

@ -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")

View file

@ -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.

View file

@ -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

View file

@ -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)

View file

@ -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"