From 6100f2633acf806da737216e4a400a7cab71e7f5 Mon Sep 17 00:00:00 2001 From: Harmony Honey Date: Sun, 11 Feb 2024 23:19:29 -0500 Subject: [PATCH] different box sprites & color inversion! (-; --- media/image/crate_tiles.png | Bin 434 -> 515 bytes src/actor/Box.gd | 15 ++++++++++++++- src/actor/Box.tscn | 8 +++++--- src/menu/AttractMode.gd | 2 ++ src/shader/palette_swap_2.gdshader | 5 +++-- 5 files changed, 24 insertions(+), 6 deletions(-) diff --git a/media/image/crate_tiles.png b/media/image/crate_tiles.png index e59841009cf929fa1873b0166a58b5e107469825..eba33e16b59bb07b9a15a0aea8e3e7fa34bb9197 100644 GIT binary patch delta 476 zcmV<20VDph1A_#RF@L>DL_t(oh3!^5a>76iee3Z(QbV0=8&t@`+9eA-6ABbyGk0-C)<|j5H}5 zr@$);e*2ip)*UG%28aEHtBz!Up*)X)I4%S*c`j8)f~T96XJDuRNsx@H zVNpX&&=Q+L`TZO_lDz^*vi2@mH0bvTxJJeS*MNSngCKv8UaLTCsI%4Ya$XqE zAL<@hz-)*=?;gkZ<@`C8j@aBZbJliIcB!X&VX-7*UN7C9y1ae0p z0ZX$cMMB$)j;xJm{Nzx3%J$`L2*96S-oAdHraPvZ?IDi0pBD4ss>8`*!un zYFYGGoXWoBFqcr#XQ}O$gdWA&GhUoPsm~WB@T%+|1m^VlA_TmE|99Z82>bw!vN&3h SE1y^Z0000FdiDl?>W=bS37 zq1qnjrI4Ud;8%r`Mz0|SfWQL?k`hed9fX0j5R#sJVIv|by`t%seqQHsU7cFwlCp6! zyu9GgkEQI;kxF88I6T;NB!>reJ_X`55Wr%dtBwYbq3OuVHGh7-eFx{jSOJnC=~cs` zgqWfxj-&DW-FKwA3`nxH7c43aEd;%{SkMcG)(rv?nJbYZmlFWsiqkKt6$x3q&LW4%G2F3Z#|{AD+bg7Zzt{NA z>g@fU3z#BXN`FFSRmv#lB=qvd-UPL`39WuTt%Fci>{wE{+FfLsD$7uHVi~BsG{Y(+ z3@x@YOUfl1%U&iVw>#t@RdTDhV~DIP^Ztrs+2 0.5 + sprite_mat.set_shader_param("flip", float(randf() > 0.5)) + diff --git a/src/actor/Box.tscn b/src/actor/Box.tscn index 0a9805d..ef13cb8 100644 --- a/src/actor/Box.tscn +++ b/src/actor/Box.tscn @@ -6,11 +6,13 @@ [ext_resource path="res://src/shader/palette_swap_2.gdshader" type="Shader" id=4] [sub_resource type="ShaderMaterial" id=2] +resource_local_to_scene = true shader = ExtResource( 4 ) shader_param/c0 = Color( 1, 1, 1, 1 ) -shader_param/s0 = Color( 0.670588, 0.321569, 0.211765, 1 ) +shader_param/s0 = Color( 0.8, 0.188235, 0, 1 ) shader_param/c1 = Color( 0, 0, 0, 1 ) -shader_param/s1 = Color( 1, 0.639216, 0, 1 ) +shader_param/s1 = Color( 1, 0.768627, 0, 1 ) +shader_param/flip = 0.0 [sub_resource type="Animation" id=1] resource_name = "hit" @@ -57,7 +59,7 @@ position = Vector2( 4, 4 ) texture = ExtResource( 1 ) hframes = 4 vframes = 4 -frame = 1 +frame = 6 [node name="AudioHit" type="AudioStreamPlayer2D" parent="."] stream = ExtResource( 2 ) diff --git a/src/menu/AttractMode.gd b/src/menu/AttractMode.gd index 2359b7f..dc0e16a 100644 --- a/src/menu/AttractMode.gd +++ b/src/menu/AttractMode.gd @@ -38,6 +38,7 @@ func set_button_box(): box[3].position = Vector2(64, -16) box[3].speed = Vector2.ZERO box[3].remainder = Vector2.ZERO + box[3].pick_frame() func set_box_stack(): box[0].position = Vector2(160, -16) @@ -47,6 +48,7 @@ func set_box_stack(): for i in 3: # 0, 1, 2 box[i].speed = Vector2.ZERO box[i].remainder = Vector2.ZERO + box[i].pick_frame() func btnx(arg : int): p.btnx = arg diff --git a/src/shader/palette_swap_2.gdshader b/src/shader/palette_swap_2.gdshader index 4ef8368..82167b5 100644 --- a/src/shader/palette_swap_2.gdshader +++ b/src/shader/palette_swap_2.gdshader @@ -4,15 +4,16 @@ uniform vec4 c0 : hint_color = vec4(0.0); uniform vec4 s0 : hint_color = vec4(0.0); uniform vec4 c1 : hint_color = vec4(0.0); uniform vec4 s1 : hint_color = vec4(0.0); +uniform float flip : hint_range(0.0, 1.0) = 0.0; void fragment(){ vec4 col = texture(TEXTURE, UV); if (col == c0){ - col = s0; + col = mix(s0, s1, flip); } else if (col == c1){ - col = s1; + col = mix(s1, s0, flip); } COLOR = col;