summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2025-11-26 19:35:11 +0200
committerJan Tuomi <jan@jantuomi.fi>2025-11-26 19:35:11 +0200
commit5f5a7ca9911f45af371d16cf9c2a45867cff7c73 (patch)
tree62cd5e2a5a1452906080e788309e71b846bba829
parent194f6e369c9f31df6e6ab4b46c7423d031f26264 (diff)
Make transitions gameboy like
-rw-r--r--palette_shader.gd5
-rw-r--r--top.tscn60
2 files changed, 58 insertions, 7 deletions
diff --git a/palette_shader.gd b/palette_shader.gd
index e4b9865..4329d0a 100644
--- a/palette_shader.gd
+++ b/palette_shader.gd
@@ -1,8 +1,7 @@
class_name PaletteShader
extends CanvasLayer
-# Set by TransitionPlayer animation
-var brightness: float = 0.3
+@export_range(-1, 1) var brightness: float = 0.0
-func _process(_delta: float) -> void:
+func notify_brightness_changed():
$ColorRect.material.set_shader_parameter("brightness", brightness)
diff --git a/top.tscn b/top.tscn
index 8350343..8d42cbc 100644
--- a/top.tscn
+++ b/top.tscn
@@ -49,7 +49,33 @@ tracks/1/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
-"values": [-1.0, 0.30000000000000004]
+"values": [-1.0, 0.19999999999999996]
+}
+tracks/2/type = "method"
+tracks/2/imported = false
+tracks/2/enabled = true
+tracks/2/path = NodePath("PaletteShader")
+tracks/2/interp = 1
+tracks/2/loop_wrap = true
+tracks/2/keys = {
+"times": PackedFloat32Array(0, 0.5, 1, 1.5, 2),
+"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
+"values": [{
+"args": [],
+"method": &"notify_brightness_changed"
+}, {
+"args": [],
+"method": &"notify_brightness_changed"
+}, {
+"args": [],
+"method": &"notify_brightness_changed"
+}, {
+"args": [],
+"method": &"notify_brightness_changed"
+}, {
+"args": [],
+"method": &"notify_brightness_changed"
+}]
}
[sub_resource type="Animation" id="Animation_2exal"]
@@ -69,17 +95,43 @@ tracks/0/keys = {
"method": &"_transition_start"
}]
}
-tracks/1/type = "value"
+tracks/1/type = "method"
tracks/1/imported = false
tracks/1/enabled = true
-tracks/1/path = NodePath("PaletteShader:brightness")
+tracks/1/path = NodePath("PaletteShader")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
+"times": PackedFloat32Array(0, 0.5, 1, 1.5, 2),
+"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
+"values": [{
+"args": [],
+"method": &"notify_brightness_changed"
+}, {
+"args": [],
+"method": &"notify_brightness_changed"
+}, {
+"args": [],
+"method": &"notify_brightness_changed"
+}, {
+"args": [],
+"method": &"notify_brightness_changed"
+}, {
+"args": [],
+"method": &"notify_brightness_changed"
+}]
+}
+tracks/2/type = "value"
+tracks/2/imported = false
+tracks/2/enabled = true
+tracks/2/path = NodePath("PaletteShader:brightness")
+tracks/2/interp = 1
+tracks/2/loop_wrap = true
+tracks/2/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
-"values": [0.30000000000000004, -1.0]
+"values": [0.19999999999999996, -1.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_2exal"]