make arrows follow player's palette :)

This commit is contained in:
Haze Weathers 2024-03-09 13:52:12 -05:00
parent f1ad9d5825
commit 7993b1d4e5
14 changed files with 94 additions and 13 deletions

View file

@ -1,8 +1,14 @@
extends Node2D
export var value = 1
func _ready() -> void:
var palette = load("res://graphics/player/palettes/%s.tex" % Game.current_palette)
$Sprite.material.set_shader_param("palette", palette)
func _on_Area2D_body_entered(body: Node) -> void:
#Collect
if body.is_in_group("player"):

View file

@ -1,13 +1,15 @@
[gd_scene load_steps=6 format=2]
[gd_scene load_steps=7 format=2]
[ext_resource path="res://shaders/1px_border.gdshader" type="Shader" id=1]
[ext_resource path="res://shaders/recolor_border.shader" type="Shader" id=1]
[ext_resource path="res://objects/collectibles/arrow.gd" type="Script" id=2]
[ext_resource path="res://graphics/player/arrow.png" type="Texture" id=3]
[ext_resource path="res://graphics/player/palettes/default.tex" type="Texture" id=4]
[sub_resource type="ShaderMaterial" id=7]
shader = ExtResource( 1 )
shader_param/border_color = Color( 0, 0, 0, 1 )
shader_param/border_corners = false
shader_param/palette = ExtResource( 4 )
[sub_resource type="RectangleShape2D" id=6]
extents = Vector2( 4, 4 )

View file

@ -1,14 +1,17 @@
[gd_scene load_steps=9 format=2]
[gd_scene load_steps=10 format=2]
[ext_resource path="res://shaders/1px_border.gdshader" type="Shader" id=1]
[ext_resource path="res://shaders/recolor_border.shader" type="Shader" id=1]
[ext_resource path="res://graphics/player/arrow.png" type="Texture" id=2]
[ext_resource path="res://objects/player/arrow_projectile.gd" type="Script" id=3]
[ext_resource path="res://graphics/particles/dust.png" type="Texture" id=4]
[ext_resource path="res://graphics/player/palettes/default.tex" type="Texture" id=5]
[sub_resource type="ShaderMaterial" id=1]
resource_local_to_scene = true
shader = ExtResource( 1 )
shader_param/border_color = Color( 0, 0, 0, 1 )
shader_param/border_corners = false
shader_param/palette = ExtResource( 5 )
[sub_resource type="Curve" id=3]
_data = [ Vector2( 0, 1 ), 0.0, -0.139481, 0, 0, Vector2( 1, 0 ), -2.82064, 0.0, 0, 0 ]

View file

@ -19,6 +19,9 @@ export var song_name = "♫Music"
export (Color) var bonus_color
func _ready():
# load arrow palette
var palette = load("res://graphics/player/palettes/%s.tex" % Game.current_palette)
$Arrow.material.set_shader_param("palette", palette)
#Change graphics depending on if lives are on
if Game.use_lives:
$LivesHead.visible = true

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=16 format=2]
[gd_scene load_steps=20 format=2]
[ext_resource path="res://graphics/hud/stars_hud.png" type="Texture" id=1]
[ext_resource path="res://graphics/hud/lives_head.png" type="Texture" id=2]
@ -12,6 +12,13 @@
[ext_resource path="res://ui/theme.tres" type="Theme" id=10]
[ext_resource path="res://graphics/hud/oxygen.png" type="Texture" id=11]
[ext_resource path="res://graphics/hud/oxygen_meter.png" type="Texture" id=12]
[ext_resource path="res://shaders/recolor.tres" type="Shader" id=13]
[ext_resource path="res://graphics/player/palettes/default.tex" type="Texture" id=14]
[ext_resource path="res://graphics/hud/hud_arrow.png" type="Texture" id=15]
[sub_resource type="ShaderMaterial" id=4]
shader = ExtResource( 13 )
shader_param/palette = ExtResource( 14 )
[sub_resource type="ShaderMaterial" id=1]
@ -56,6 +63,19 @@ texture = ExtResource( 5 )
position = Vector2( 9, 6 )
texture = ExtResource( 7 )
[node name="Arrow" type="Sprite" parent="."]
material = SubResource( 4 )
position = Vector2( 58, 6 )
texture = ExtResource( 15 )
[node name="ArrowShade" type="Sprite" parent="Arrow"]
modulate = Color( 0.57, 0.57, 0.57, 1 )
use_parent_material = true
position = Vector2( 0, 4 )
texture = ExtResource( 15 )
region_enabled = true
region_rect = Rect2( 0, 6, 5, 1 )
[node name="RedStar" type="Sprite" parent="."]
visible = false
material = SubResource( 1 )

View file

@ -21,6 +21,9 @@ onready var initial_sector: Vector2 = Game.current_sector
func _ready():
if target_group == "enemy_hitbox":
var palette = load("res://graphics/player/palettes/%s.tex" % Game.current_palette)
$Sprite.material.set_shader_param("palette", palette)
#Flip depending on direction
scale.x = direction

View file

@ -1,14 +1,16 @@
[gd_scene load_steps=9 format=2]
[gd_scene load_steps=10 format=2]
[ext_resource path="res://shaders/1px_border.gdshader" type="Shader" id=1]
[ext_resource path="res://shaders/recolor_border.shader" type="Shader" id=1]
[ext_resource path="res://graphics/player/arrow.png" type="Texture" id=2]
[ext_resource path="res://objects/player/arrow_projectile.gd" type="Script" id=3]
[ext_resource path="res://graphics/particles/dust.png" type="Texture" id=4]
[ext_resource path="res://graphics/player/palettes/default.tex" type="Texture" id=5]
[sub_resource type="ShaderMaterial" id=1]
[sub_resource type="ShaderMaterial" id=7]
shader = ExtResource( 1 )
shader_param/border_color = Color( 0, 0, 0, 1 )
shader_param/border_corners = false
shader_param/palette = ExtResource( 5 )
[sub_resource type="Curve" id=3]
_data = [ Vector2( 0, 1 ), 0.0, -0.139481, 0, 0, Vector2( 1, 0 ), -2.82064, 0.0, 0, 0 ]
@ -24,7 +26,7 @@ z_index = 1
script = ExtResource( 3 )
[node name="Sprite" type="Sprite" parent="."]
material = SubResource( 1 )
material = SubResource( 7 )
z_index = -1
texture = ExtResource( 2 )